html - 为什么我的图片链接在图片下方延伸?

标签 html css image

<分区>

我正在为我正在创建的网站制作照片页面,但链接似乎延伸到图像下方的空白区域。当我删除周围的 <section> 时问题就消失了但我不确定为什么。

这是一个 Jsfiddle更好地展示我的代码和问题

.photo {
  text-align: center;
  float: left;
  width: 70%;
  margin-left: 8%;
  margin-top: 5%;
  margin-bottom: 5%;
}
.photo a {
  border: 1px solid red;
}
.photo img {
  margin: 1%;
}
<section class="photo">
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
</section>

我添加了一个 border到问题区域。非常感谢任何帮助!

最佳答案

因为aimg是行内元素,所以

  • 通过display:block使a成为 block 级元素,border出现在图像周围
  • display:block 设置为 img 以删除由于作为内联元素而导致的下方空白。 (其他解决方案是设置 vertical-align-bottom,给定 img 默认情况下是 vertical-align:baseline)

注意:我给 img 一个 max-width:100% 来响应,如果你给 border img 而不是 a,不再需要 display:blocka,虽然拥有它是件好事。

查看有关内联元素的更多信息 here在 w3 上

.photo {
  text-align: center;
  float: left;
  width: 70%;
  margin-left: 8%;
  margin-top: 5%;
  margin-bottom: 5%;
}
.photo a {
  display: block;
}
.photo img {
  display: block;
  border: 1px solid red;
  max-width: 100%;
  margin: 1%
}
<section class="photo">
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
  <a href="#">
    <img src="http://upshout.com/wp-content/uploads/2015/06/dwarf-kitten-01.jpg" />
  </a>
</section>

关于html - 为什么我的图片链接在图片下方延伸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616497/

相关文章:

html - 我正在尝试制作 "jumbotron"img

带 Angular 的 HTML 矩形框

javascript - 如何防止点击事件相互重叠?

html - 当绝对定位在小于文本 div 的父 div 内时,将文本保留在一行中的 div 中?

jquery - 一个接一个地动画化两个 Div

css - 如何通过 jquery 设置动态创建的 html 元素的样式

html - (CSS newbie)文本框消失,图片变得凌乱

javascript - 检查图像是否以 jQuery(或纯 JavaScript)加载

JavaFX WebView 捕获来自 javascript 的 post 请求

php - 我将如何设置横幅或如何从我的页面中删除此空间