【发布时间】:2011-06-05 13:32:13
【问题描述】:
我遇到了一个奇怪的问题。我想在图像周围加上边框,但它在底部显示了一些空间。请看这里:http://jsfiddle.net/4WKJY/ 我不想设置固定的高度和宽度。感谢您的帮助。
【问题讨论】:
我遇到了一个奇怪的问题。我想在图像周围加上边框,但它在底部显示了一些空间。请看这里:http://jsfiddle.net/4WKJY/ 我不想设置固定的高度和宽度。感谢您的帮助。
【问题讨论】:
与另一个答案相反,它与标记中的空格无关,删除空格不会解决此问题。
问题是图片默认是内联的,垂直对齐的初始值是baseline。这意味着图像被视为页面的任何其他文本组件,并且在文本内容下方为下降保留空间 - 诸如小写“j”等字母的尾部。
要解决这个问题,您要么需要告诉渲染引擎图像不应该被视为文本内容 - .thumb img { display: block; } 会这样做 - 或者您可以告诉渲染引擎不要为后代保留空间,而是将内容与最底部对齐 - .thumb img { vertical-align: bottom; } 会这样做。
编辑:我似乎记得旧版本的 Internet Explorer 错误地处理空格,因此删除空格可能会在那里产生影响,但我上面所说的仍然有效;删除空格不是针对此问题的跨浏览器修复。
【讨论】:
您可以通过在 CSS 中创建 img display:block as seen here 来修复它。
【讨论】:
或者,仅将 css 应用于图像:
.thumb img{
position: relative;
padding:2px;
float: left;
margin: 0px 0px 5px 5px;
border: solid 1px #ccc;
}
【讨论】: