2011-08-23 52 views

回答

4

基本上,您可以为每个图像创建一个容器,用于指定图像的区域。

http://jsfiddle.net/FyMW6/4/

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; 
} 
+0

正如@Pekka所说的,用CSS“剪辑”和“背景剪辑”是不可能的,但是你的解决方案对我来说很有用。 –

3

不,我不这么认为,至少在CSS2。

您不能将clip属性应用于背景图像。

CSS3的 background-clip属性似乎正是你所需要的。不过,它目前只提供有限的浏览器支持。 CSS具有background-clip属性,但它只允许指定将图像渲染到哪个边界框。

除了使用另一个容器作为图标之外,可能没有解决方案。

+0

+1谢谢。去读一下背景剪辑。 –

+0

@Jitendra我太仓促了,对不起。 'background-clip'并不完全符合你的需要。没有使用单独的容器可能没有解决方案 –

+0

我发现这个很好的链接http://www.impressivewebs.com/background-clip-css3/ –

-1

最简单的方法是设置类来显示:无;