[英]Vertically align multiple <p> with respect to image height
我想将图像放置在文本的两个段落的左侧,以使文本相对于图像的高度垂直居中。
<div class="wrap">
<img src="https://i.imgur.com/Yako69m.jpg" />
<div class="text">
<p>line1</p>
<p>line2</p>
</div>
</div>
将-ve值用于
margin-top.
margin-top: -12%;
但是,您还必须注意媒体查询。 使用%
代替PX
。 希望这会解决。
这是使用CSS表格单元格的一种方法。
对于HTML:
<div class="wrap">
<div class="img-panel">
<img src="https://i.imgur.com/Yako69m.jpg" />
</div>
<div class="text">
<p>line1</p>
<p>line2</p>
</div>
</div>
将图像包裹在div
类似于对包裹p
元素的div.text
所做的操作。
应用以下CSS:
.wrap {
display: table;
width: 80%; /* optional */
margin: 0 auto; /* optional if you want to center wrapper */
}
.img-panel, .text {
display: table-cell;
border: 1px solid blue;
}
.img-panel {
width: 20%;
vertical-align: top;
}
.img-panel img {
width: 100%;
display: block;
}
.text {
vertical-align: middle;
}
.text p {
background-color: yellow;
}
将display: table
应用于包装器,然后将display: table-cell
应用于两个子div
。
使用vertical-align: top
属性将图像设置为其父元素的顶部,然后使用vertical-align: middle
将段落放置在右侧表格单元格元素的中间。
只要图像比右边的内容高,您就会获得所需的布局。
使用CSS flexbox(可能想添加供应商前缀以更好地支持浏览器):
.wrap {
display: flex;
align-items: center;
}
img {
width:20%;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.