使用clip
可以隐藏CSS
background image
的特定区域吗?例如,我在图像上有多个图标,但我只想显示一个图标。因为Div区域大于图标大小,所以其他不需要的图标也显示出来。我可以隐藏它们而不用为该单个图标制作另一个图像吗?是否可以使用剪辑隐藏CSS背景精灵图像的特定区域?
的jsfiddle http://jsfiddle.net/jitendravyas/FyMW6/1/
使用clip
可以隐藏CSS
background image
的特定区域吗?例如,我在图像上有多个图标,但我只想显示一个图标。因为Div区域大于图标大小,所以其他不需要的图标也显示出来。我可以隐藏它们而不用为该单个图标制作另一个图像吗?是否可以使用剪辑隐藏CSS背景精灵图像的特定区域?
的jsfiddle http://jsfiddle.net/jitendravyas/FyMW6/1/
基本上,您可以为每个图像创建一个容器,用于指定图像的区域。
HTML:
<div class="button">
<div class="text">Lorem ipsum dolor sit amet</div>
<div id="house" class="icons"></div>
</div>
CSS:
.button {
width: 300px;
float: left;
border:1px solid red
}
.text {
float: left;
width: 245px;
}
.icons {
background-image: url("http://www.smtusa.com/uploads/cssexample.jpg");
background-repeat: no-repeat;
width: 50px;
height: 50px;
float: right;
}
#house {
background-position: -56px -45px;
}
#gear {
background-position: -56px -106px;
}
不,我不这么认为,至少在CSS2。
您不能将clip
属性应用于背景图像。
CSS3的
CSS具有background-clip
属性似乎正是你所需要的。不过,它目前只提供有限的浏览器支持。
background-clip
属性,但它只允许指定将图像渲染到哪个边界框。
除了使用另一个容器作为图标之外,可能没有解决方案。
+1谢谢。去读一下背景剪辑。 –
@Jitendra我太仓促了,对不起。 'background-clip'并不完全符合你的需要。没有使用单独的容器可能没有解决方案 –
我发现这个很好的链接http://www.impressivewebs.com/background-clip-css3/ –
最简单的方法是设置类来显示:无;
正如@Pekka所说的,用CSS“剪辑”和“背景剪辑”是不可能的,但是你的解决方案对我来说很有用。 –