我有一个包含图像和ap标签的div(如下所示)。我想根据段落的多少行在div的中间垂直对齐图像。垂直对齐不起作用。我现在正在使用JavaScript找出要添加到margin- top的数量,但是宁愿使用CSS。有任何想法吗?
<div> <img> <p>Multi-line</p> </div>
尝试将元素的line-height属性设置为p图像的高度,例如:
line-height
p
div p { line-height: 18px; }
编辑: 刚意识到我读错了问题,却错过了p多行的事实。尝试的一种选择是img完全删除元素,并将其设置为background- imageof的p,使用的background-positionof left, center。就像是:
img
background- image
background-position
left, center
div p { background: transparent url(path/to/img) no-repeat left center; padding-left:30px; /* Set based on width of image */ }