如何制作<a> wrap around a small image with out padding?</a>

时间:2010-12-05 02:49:24

标签: html css

我有以下内容:

<a href="#" style="border:solid 1px gray; line-height: 5px;">
    <img src="x.gif" style="border:solid 0px gray;">
</a>

让我们说x.gif的尺寸是5x5像素。如何使超链接紧紧围绕x.gif?现在宽度是正确的,但似乎在x.gif的顶部和底部有填充。

4 个答案:

答案 0 :(得分:1)

尝试这样的事情:

<a href="#" style="border:solid 1px gray; display: inline-block;">
    <img src="x.gif" style="display: block;">
</a>

如果您需要支持IE7,那么您可能需要在IE7特定的样式表中用inline-block替换block

答案 1 :(得分:0)

尝试添加保证金:0;填充:0;你的形象。

答案 2 :(得分:0)

这是MSIE特定的行为。它对<img>标记周围的空格也很敏感。

要修复它,您可以删除它周围的任何空格:

<a href="#" style="border: solid 1px gray; line-height: 5px;"><img src="x.gif" style="border: 0;" width="5" height="5"></a>

请注意,给出零宽边框的颜色和样式没有意义,所以我也从图像的样式中删除了它。

答案 3 :(得分:0)

这适用于我测试的最新浏览器,包括IE9

<a href="#" style="font-size:0;text-decoration:none;">
    <img src="x.png" style="border:1px red solid;">
</a>

然而,虽然它在IE6 / 7中看起来非常接近,但它们在边界的底部产生了一个奇怪的人工制品。我不得不通过用背景颜色和填充来欺骗边框来模仿IE6 / 7中的外观。我还必须使用zoom:1给A元素"layout"以使其表现(并且松散一些额外的填充)。

<a href="#" style="font-size:0;text-decoration:none;background-color:red;padding:1px;zoom:1;">
    <img src="x.png" style="border:none">
</a>

令人讨厌的是,这不适用于“标准”浏览器,所以你必须使用conditional comments并使用自己的样式定位低版本的IE,如果你不能使用这些文字。