我正在为我正在创建的网站的照片页面工作,但似乎链接正在延伸到图片下方的空白区域。当我删除周围的<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%;
}
&#13;
<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>
&#13;
我在问题区域添加了border
。非常感谢任何帮助!
答案 0 :(得分:1)
因为a
和img
是内联元素,所以
a
制作display:block
块级元素,并在图片周围显示border
display:block
设置为img
以删除因内联元素而导致的空白。 (其他解决方案是设置vertical-align-bottom
,默认情况下img
为vertical-align:baseline
) 注意:我为img
max-width:100%
提供了响应,如果您将border
提供给img
而不是{{} 1}},a
a
不再是必需的,尽管拥有它是好事。
在w3
上查看有关内联元素here的更多信息
display:block
&#13;
.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%
}
&#13;