我有一个使用右侧边栏的网站。该侧边栏使用“float:right”作为其 CSS 样式。
我喜欢将内容添加到在图像周围浮动的主要内容,作为解释。对于这些图像,我也使用“float:right”,它按预期工作。
当我添加几个带有图像的文本部分时,挑战就开始了,如下所示:
1st text +-----+
text text | img |
+-----+
2nd text +-----+
text text | img |
+-----+
默认情况下,第二段将在第一段结束后立即开始,如下所示:
1st text +-----+
text text | img |
2nd text +-----+
text text
+-----+
| img |
+-----+
我了解到我应该在段落之间使用 clear:right 样式以将它们分开,并且按照描述的方式工作。
这是我用于每个 img+text 块的代码:
<div>
<img style="float:right" src="animg.png" width="502" height="241" alt="bla bla">
<p>Text for the image.</p>
<div style="clear:right"></div>
</div>
但是,现在侧边栏开始出现问题:如果侧边栏下降得比左侧出现的 clear:right 更远,那么内容中就会出现间隙,一直到侧边栏为止。你可以在这里看到效果:带有侧边栏影响的网站示例 clear:right
有什么建议可以解决这个问题,即避免 clear:right 不会受到侧边栏高度的影响,而只会受到本地文本+图像块的影响?
到目前为止,我发现的一个建议是避免在侧边栏使用浮动,而是使用表格。但这会导致新的复杂性(例如,除非我更改 html 内容的顺序,否则侧边栏最终会出现在左侧,这可能会导致屏幕较小的新问题等等)。