块元素的背景图像位于float元素后面

时间:2011-03-29 12:27:31

标签: html css css-float background-image

我对块元素上的背景图像有一个小问题,前面是浮动元素。

我将图像浮动到左侧,然后是H1。正如预期的那样,H1(这是一个blocl级元素)在图像后面流动,但它的内容(实际标题)出现在图像的右侧。

不幸的是,我在H1上使用的背景图片必须与左边对齐,因此出现在实际的img后面,因为与内容不同,这不是由浮动行为。

示例:

http://jsfiddle.net/WwuqG/

(我将第二个标题设置为clear: left以显示它应该是什么样子。)

一种解决方案是将标题的左边距设置为略高于浮动图像的宽度,但这需要我事先知道它的宽度。

另一种选择是在h1内的元素中添加标题的图标,但这在语义上并不正确。

是否有更好的仅限css的解决方案,不需要额外的元素?

2 个答案:

答案 0 :(得分:10)

overflow:hidden添加到h1

fiddle

答案 1 :(得分:2)

我有点困惑。

如果我按照你的建议行事:

  

将标题的左边距设置为a   比浮动图像更多   宽度

看起来像这样:http://jsfiddle.net/WwuqG/1/

我的困惑来自于你的问题似乎......修复起来非常简单。

这适用于任何width图片:http://jsfiddle.net/WwuqG/3/

是这样,还是我误解了?