方式一、vertical-align:middle
通过vertical-align:middle实现现图片与文字水平对齐,需要区分html是行内元素,还是块状元素;例如:标签img、span是行内元素;标签p是块状元素则需要将标签p通过diaplay:inline-block;转化为行内元素;
CSS vertical-align 属性
定义和用法
vertical-align 属性设置元素的垂直对齐方式。
说明
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
浏览器支持
所有浏览器都支持 vertical-align 属性。
注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 “inherit”。
值 |
描述 |
baseline |
默认。元素放置在父元素的基线上。 |
sub |
垂直对齐文本的下标。 |
super |
垂直对齐文本的上标 |
top |
把元素的顶端与行中最高元素的顶端对齐 |
text-top |
把元素的顶端与父元素字体的顶端对齐 |
middle |
把此元素放置在父元素的中部。 |
bottom |
把元素的顶端与行中最低的元素的顶端对齐。 |
text-bottom |
把元素的底端与父元素字体的底端对齐。 |
length |
|
% |
使用 “line-height” 属性的百分比值来排列此元素。允许使用 |
inherit |
规定应该从父元素继承 vertical-align 属性的值。 |
方式二、通过flex布局实现图片与文字水平对齐
只需要在父级元素中css添加:
display:flex;
flex-direction:row;
align-items:center;
子级元素则不需要像上面那样添加vertical-align:middle;
区别
vertical-align:middle 与flex布局处理图片与文字水平居中对齐的区别;前者只要针对标签比较少的,及css的内用是写在子级的;后者针对需要实现很多标签水平居中对齐比较方便,及css主要写在父级上;