Hob*_*bes 12 css css-paged-media
我有一个包含步骤的程序.一些步骤伴随着图像.
<p class="imagefloatright"><img src="step 1.png"/></p>
<ol>
<li>
<p>Step 1</p>
<p class="imagefloatright"><img src="step 2.png"/></p>
</li>
<li>
<p>Step 2</p>
<p>Step 3</p>
</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
和我的CSS:
p.imagefloatright img {
float: right;
clear: both;
}
Run Code Online (Sandbox Code Playgroud)
这是默认输出.图像不会与它们所属的步骤保持一致,步骤2的文本放在图像1旁边:
我希望属于第2步的图像与第2步垂直对齐:
过去,我通过在每个浮动图像之前插入一个高度为0的全宽度块,在XSL-FO中实现了我想要的结果.
我可以使用CSS命令实现我想要的布局吗?或者,在将CSS应用于HTML之前,是否需要在HTML中插入块?
清除包含动态内容的浮动,即。图像可以具有动态高度,您需要清除父元素本身。
.imagefloatright {
clear: both;
}
.imagefloatright img {
float: right;
}
Run Code Online (Sandbox Code Playgroud)
这意味着您需要clear在包含浮动元素的元素上使用。
为了简洁起见,我将其重命名为:
.clearfix {
clear: both;
}
.float-right {
float: right;
}
Run Code Online (Sandbox Code Playgroud)
超文本标记语言
<p class="clearfix"><img class="float-right" src="step 1.png"/></p>
<ol>
<li>
<p>Step 1</p>
<p class="clearfix"><img class="float-right" src="step 2.png"/></p>
</li>
<li>
<p>Step 2</p>
<p>Step 3</p>
</li>
</ol>
Run Code Online (Sandbox Code Playgroud)
这是一个演示。