从精灵中获取图像并添加到href中

时间:2013-05-06 18:37:31

标签: html css

我已将所有图标添加到精灵中。 现在,我需要通过链接显示该精灵中的一个图标。 当我添加精灵并在链接上设置其背景位置时,所有链接的背景都是精灵精灵。 enter image description here

a{
    background-image:url('sprite.png'); 
}
.sprite_link_icon{
    padding-left: 20px;
    background-position: -36px -10px
}
<a class="sprite_link_icon" href="">test link test</a>

如何设置精灵的宽度和高度,以便它只显示一个图标?

在“a”标签中添加两个div的唯一方法是什么?首先,设置精灵图标和宽度和高度的div,以及其他文本?

<a href="">
    <div class="sprite_link_icon" style="width: 10px; height: 10px;"></div>
    <div>test link</div>
</a>

3 个答案:

答案 0 :(得分:3)

您可以使用:before:after将实际背景移动到另一个(伪)元素,该元素恰好是一个图标的正确大小。

这样的事情:

.icon {
  /* nothing special here, just a dynamic element,
     maybe with a fixed height? */
}
.icon:before {
  content: '';
  display: inline-block;
  height: 16px;
  width: 16px;
  background: url(...) etc;
  margin-right: .25em; /* might not be necessary due to inline-block */
}

小提琴:http://jsfiddle.net/rudiedirkx/RG3Kd/(尺码错误,因为我没有好的精灵)。

答案 1 :(得分:0)

你不能这样做,当你做精灵时,你应该知道元素的宽度和高度是多少。

在“a”标记中添加跨度并添加背景时,可以解决问题,具有特定的宽度和高度。或者你可以重新安排你的精灵。

答案 2 :(得分:0)

在样式中使用此代码:

a
    {
        background-color:#00cc00;
        padding-left:20px;
        }

    a span
    {
        background-color:#fff;            
        }    

然后这个html:

<a href="#"><span>test link</span></a>