【问题标题】:How do I get a link to properly contain an image?如何获得正确包含图像的链接?
【发布时间】:2011-12-27 20:26:24
【问题描述】:

fiddle

截图

来源

<a href="#"><img width="200" height="200"></a>

问题

注意黑色边框是如何只出现在图像底部的?我该如何解决这个问题,以便它出现在整个事物周围?

我以前做过,但我不记得是怎么做到的......

【问题讨论】:

  • 哇...5 秒内有 5 个答案。 Fiddle 是一个很棒的小工具。锚标记高度看起来像是基于文本高度。

标签: html css image hyperlink


【解决方案1】:

你可以使用:

a {
    display: inline-block;
}

JS Fiddle demo.

或者,

a {
    display: block;
}

JS Fiddle demo.

在这两者中,inline-block 可能更适合您的需要(甚至Internet Explorer 6 and 7 should play nicely 也更适合,因为a '自然是display: inline')。

【讨论】:

  • 这些都不能在 FF 中正确呈现。内联块显示为一个点,块显示为一条黑线。在 IE 内联块中有效,但它在图像和底部边框之间留下了间隙,而块留下了间隙并填充了整个宽度(我想这还不错,因为我可以明确设置宽度)。跨度>
【解决方案2】:

试试这个:

HTML

<a href="#">
    <img width="200" border="0" height="200" />
</a>

CSS

a {
    border:1px solid black;
    display: block;
    float: left;
}
img
{
   display: block;   
}

现场演示可以找到here

编辑&lt;img&gt; 标签的边框可能比&lt;a&gt; 更好

【讨论】:

  • 浮动也是唯一去掉图片底部间距的方法。
  • @Niels:您可以发布解决问题所需的实际代码并提供链接以供参考,而不仅仅是发布链接。如果链接断开,您的答案将变得毫无用处。谢谢
  • 是的,我以后会这样做。我是 stackoverflow 的新手,所以请记住这一点。
  • @Mark 我发现浮动并没有删除多余的空间,而是添加 line-height: 0;正如here 解释的那样,对 A 元素做了。
【解决方案3】:

display: inline-block 添加到您的a

【讨论】:

    【解决方案4】:

    在你的 CSS 中放置

    display:block;
    

    display:inline-block;
    

    在你a标签上。

    【讨论】:

      【解决方案5】:

      像这样在图像周围设置边框:http://jsfiddle.net/nmhAs/

      img {
          border:1px solid black;
      }
      

      【讨论】:

      • 问题不仅仅是边界。我想学习如何正确地包含元素。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2019-11-07
      • 1970-01-01
      • 2015-09-16
      • 2020-12-28
      相关资源
      最近更新 更多