2013-04-10 89 views
4

HTML:如何获得div背景图片上的锚标签?

<div id="facey"> 
    <a href="http://www.facebook.com.au"></a> 
</div> 

CSS:

#facey { 
    float: left; 
    width: 32px; 
    height: 32px; 
    background: url(file:///C|/Users/User/Documents/TAFE%20-%20Web/ICAWEB411A%20Design%20simple%20web%20page%20layouts/testing%20color/icons/facey%20sprite.png) no-repeat 0 0; 
} 

#facey:hover { 
    background-position: 0 -32px; 
} 

我对社交媒体图标的CSS精灵,我一直在试图把一个锚标记上他们去有各自的网站和我'm不知道它是如何工作的,因为精灵图像被用作背景图片,并且锚点标签似乎不适合div中的我?我不确定我在这里做错了什么?

回答

8

添加CSS样式display:block;#facey a

+0

感谢的人,为什么显示:block现在就开始工作? – elroyz 2013-04-11 09:17:34

+0

[查看此贴子](http://stackoverflow.com/a/2262036/1763929)。 – Vucko 2013-04-11 09:24:31

1

将背景放在锚点上,而不是放在div上,最后是可点击的锚点标记。 div在这里实际上是完全多余的。

<a href="http://www.facebook.com.au" id="facey"></a> 

a#facey { 
    float: left; 
    width:32px; 
    height: 32px; 
    display: block; 
    background:url(file:///C|/Users/User/Documents/TAFE%20-%20Web/ICAWEB411A%20Design%20simple%20web%20page%20layouts/testing%20color/icons/facey%20sprite.png) no-repeat 0 0; 
} 

a#facey:hover { 
    background-position:0 -32px; 
} 
0

您不能像这样引用文件系统中的文件,它被认为是除IE以外的任何浏览器中的安全漏洞。尝试使用相对路径代替:

#facey { 
    float: left; 
    width:32px; 
    height: 32px; 
    background:url(icons/facey%20sprite.png) no-repeat 0 0; 
    }