1、首先通过vertical-align:middle实现现图片与文字水平对齐,需要区分html是行内元素,还是块状元素,实现img、p及div水平居中对齐,则只需要在img的css中的vertical-align:middle;及将p和div(display:inline-block)转化为行内元素。
2、实现img、span水平居中对齐,由于这两者都是行内元素。
3、则只需要在img的css中的vertical-align:middle;span标签什么都不需要添加。
4、通过flex布局实现图片与文字水平对齐,只需要在父级元素中css添加。
5、子级元素则不需要像上面那样添加vertical-align:middle,这样就可以了。
css中的vertical-align属性设置元素的垂直对齐方式,可能的值:
baseline
默认。元素放置在父元素的基线上。
sub
垂直对齐文本的下标。
super
垂直对齐文本的上标
top
把元素的顶端与行中最高元素的顶端对齐
text-top
把元素的顶端与父元素字体的顶端对齐
middle
把此元素放置在父元素的中部。
bottom
把元素的顶端与行中最低的元素的顶端对齐。
text-bottom
把元素的底端与父元素字体的底端对齐。
%
使用
"line-height"
属性的百分比值来排列此元素。允许使用负值。
inherit
规定应该从父元素继承
vertical-align
属性的值。
如下代码即可实现垂直对其:
.img{vertical-align:bottom}
.input{vertical-align:bottom}
<p>
<img
class="img"
border="0"
src="/i/eg_cute.gif"
/>
<input
class="input"
/>
</p>