CSS background 能不能只用某图片的一部分作为背景垂直平铺?

2025-01-19 07:06:21
推荐回答(5个)
回答1:

主要是图片的定位和div的定位问题。

设图片起点坐标是(0,    0),图片高和宽为100px,则图片右下角坐标为(0,     0);

      div起点坐标是(0,0),div高和宽为70px,边框分别为 10,20, 20, 10 。并给div边框上色掩盖背景图部分,则   div可见区域为图片的左上(10,10)到右下(20, 20)

图片上的div.html   文件代码如下:



  
    
    图片上的div
    
  

  
    
    

  


picanddiv.css     文件代码如下:

img {
position: absolute;              /* 用绝对定位控制图片 */
top: 0;                          /* 设置图片跟顶部距离 */
left: 0;                         /* 设置图片跟左边距离 */
width: 100px;
height: 100px;
}
div {
position: absolute;              /* 用绝对定位控制div */
top: 0;                          /* 设置div距离顶部距离 */
left: 0;                         /* 设置div距离左边距离 */
margin: 0; 
border-top: 10px solid red;  /* 用div上边框颜色掩盖你不想别人看见部分 */
border-right: 20px solid red;/* 用div右边框颜色掩盖你不想别人看见部分 */
border-bottom: 20px solid red;/* 用div下边框颜色掩盖你不想别人看见部分 */
border-left: 10px solid red;  /* 用div左边框颜色掩盖你不想别人看见部分 */
padding: 0;
    width: 70px;                          /* 设置div宽度 */
    height: 70px;                         /* 设置div高度 */
    background: rgba(0, 0, 0, 0.5);       /* 设置div透明背景,能看见背景 */
}

回答2:

直接把 你想要的那块用ps切片工具切下来,作为背景图片,然后repeat-x

回答3:

可以的。
background:url("img/bg1.jpg") repeat-y 50px 50px;

回答4:

直接把图片裁掉比较好

回答5:

可以,不过div的大小为 (20-10) =10 , (20-10)=10;
div{ width: 10px; height: 10px; background: url(xx.jpg) 10px 10px;}