line-height行高与图片的隐匿文本间隙消除方法

(标注 文章来源 http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/)

1.块级元素(block_element)中插入一个内联块级元素(inline_block)img后,产生多余间隙

line-height行高与图片的隐匿文本间隙消除方法

line-height行高与图片的隐匿文本间隙消除方法

(间隙存在原因说明:对于内联块级元素img默认对齐方式是基线baseline, 可以想象在line-boxes行框盒子中存在出图片外的匿名inline-box盒子包裹文本。

文本存在line-height,所以存在间隙)

代码截图如下:

line-height行高与图片的隐匿文本间隙消除方法

2.消除图片底部间隙几种方法

a.图片与底线对齐

line-height行高与图片的隐匿文本间隙消除方法

b.图片元素块状化-无基线对齐

line-height行高与图片的隐匿文本间隙消除方法

c.行高足够小,基线上移

line-height行高与图片的隐匿文本间隙消除方法

d.消除隐匿文本字体大小

line-height行高与图片的隐匿文本间隙消除方法

源码

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.content {
background-color: #ccc;
margin-bottom: 5px;
font-family: "microsoft yahei";
}
.vertical_align>img {
vertical-align: top;
}
.elem_block img {
display: block;
}
.content span {
display: inline-block;
background-color: #F93636;
}
.line_height_small {
line-height: 0;
}
.box {
font-size: 0;
}
.inlie_block {
display: inline-block;
}
</style>
</head>
<body>
<p class="content ">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" />
</p> <p class="content vertical_align">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" /><span>XYZ:行高与图片 隐匿文本节点</span>
</p> <p class="content elem_block">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" /><span>XYZ:行高与图片 隐匿文本节点</span>
</p> <p class="content line_height_small">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" /><span>XYZ:行高与图片 隐匿文本节点</span>
</p> <p class="content box">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" /><span>XYZ:行高与图片 隐匿文本节点</span>
</p> <p class="content inlie_block">
<img src="http://image.zhangxinxu.com/image/study/s/s128/mm1.jpg" /><span>XYZ:行高与图片 隐匿文本节点</span>
</p>
</body>
</html>

【资料参考】

http://www.zhangxinxu.com/wordpress/2015/08/css-deep-understand-vertical-align-and-line-height/

上一篇:(转)Sql server中 如何用sql语句创建视图


下一篇:Git常用命令总结(超实用)