我有三个问题:
当我尝试在较小尺寸div中使用背景图像时,div仅显示图像的一部分。如何显示图像的完整部分或特定部分?
我有一个较小的图像,我想在更大的div中使用。但是不想使用重复功能。
CSS中有没有办法操纵图像的不透明度?
答案 0 :(得分:108)
调整图像大小以适合div大小 使用CSS3,您可以这样做:
/* with CSS 3 */
#yourdiv {
background: url('bgimage.jpg') no-repeat;
background-size: 100%;
}
How Do you Stretch a Background Image in a Web Page:
关于不透明度
#yourdiv {
opacity: 0.4;
filter: alpha(opacity=40); /* For IE8 and earlier */
}
答案 1 :(得分:65)
要自动放大图像并覆盖整个div部分而不留下任何未填充的部分,请使用:
background-size: cover;
答案 2 :(得分:16)
这对我来说很完美
background-repeat: no-repeat;
background-size: 100% 100%;
答案 3 :(得分:9)
尝试以下代码段,我之前自己尝试过:
#your-div {
background: url("your-image-link") no-repeat;
background-size: cover;
background-clip: border-box;
}
答案 4 :(得分:8)
而不是给background-size:100%;
我们可以给background-size:contain;
查看这个可用的不同选项:http://www.css3.info/preview/background-size/
答案 5 :(得分:3)
这就像魅力一样。
background-image:url("http://assets.toptal.io/uploads/blog/category/logo/4/php.png");
background-repeat: no-repeat;
background-size: contain;
答案 6 :(得分:0)
我同意yossi的例子,拉伸图像以适应div但是以稍微不同的方式(没有背景图像,因为这在css 2.1中有点不灵活)。显示全图:
<div id="yourdiv">
<img id="theimage" src="image.jpg" alt="" />
</div>
#yourdiv img {
width:100%;
/*height will be automatic to remain aspect ratio*/
}
使用background-position:
显示图像的一部分#yourdiv
{
background-image: url(image.jpg);
background-repeat: no-repeat;
background-position: 10px 25px;
}
与(1)的第一部分相同,图像将缩放到div,因此更大或更小都可以工作
与yossi相同。