默认情况下, anh2
是一个块元素,这意味着它将从其容器中获取所有可用的水平空间。因此, usingtext-align: right
只会移动其中的文本,但它会占用相同的空间,如您在此处看到的:
.right {
float: right;
}
.right h2 {
background: cyan;
text-align: right;
}
.right img {
background: red;
float: left;
width: 100px;
height: 120px;
}
<div class="block right">
<h2>Header 2.1</h2>
<img src="images/wip.png" />
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
删除该text-align
属性并添加display: inline-block
到h2
。注意display: inline
也可以使用,但不会应用(垂直)边距和填充。
这将允许浮动图像推动h2
元素,以便将自身定位在容器的开头:
.right {
float: right;
}
.right h2 {
background: cyan;
display: inline-block;
}
.right img {
float: left;
background: red;
width: 100px;
height: 120px;
}
<div class="block right">
<h2>Header 2.1</h2>
<img src="images/wip.png" />
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.</p>
</div>
另一种选择是将img
HTML 中的 移动为第一个元素:
.right {
float: right;
}
.right h2 {
background: cyan;
}
.right img {
float: left;
background: red;
width: 100px;
height: 120px;
}
<div class="block right">
<img src="images/wip.png" />
<h2>Header 2.1</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua.</p>
</div>