img
元素默认是 inline 元素,与文本的基线对齐。而 p
元素内部的文本也与基线对齐。img
元素底部会有几像素的空白,这是由于 img
的默认 vertical-align
属性值为 baseline
造成的。这个空白通常表现为向上偏移 3px 左右,但具体数值取决于字体大小、行高以及图片的底部边缘形状。
解决这个问题的方法有很多,以下是几种常见的解决方案:
-
设置
img
的vertical-align
属性:这是最常用的方法,可以将
img
的vertical-align
属性设置为middle
、top
、bottom
或其他合适的值,使其与p
元素的内容对齐。middle
通常能达到比较好的效果。<p><img src="image.jpg" style="vertical-align: middle;"> 一些文字</p>
或者在 CSS 中设置:
p img { vertical-align: middle; }
-
将
img
设置为块级元素:将
img
设置为display: block;
会使其占据整行,不再受基线对齐的影响。但这种方法可能会破坏原本的布局,需要根据具体情况调整。p img { display: block; }
-
设置
p
元素的line-height
:调整
p
元素的line-height
也可以解决这个问题,但需要根据图片的高度和字体大小进行微调,不太灵活。p { line-height: 20px; /* 根据实际情况调整 */ }
-
设置
p
元素的font-size: 0;
,然后在img
上重新设置font-size
:这种方法可以消除基线的影响,但需要在
img
上重新设置字体大小,如果图片周围有文字,也需要单独设置字体大小。p { font-size: 0; } p img { font-size: 16px; /* 根据实际情况调整 */ }
推荐使用第一种方法,即设置 vertical-align
属性为 middle
, 这是最简单、最直接、最灵活的解决方案。 根据实际情况选择最合适的方案即可。
此外,如果图片底部有空白像素,可能是图片本身的问题,可以使用图片编辑软件去除。
标签:字体大小,img,vertical,标签,align,元素,嵌套,设置 From: https://www.cnblogs.com/ai888/p/18593080