CSS:浮出水面

时间:2014-07-17 22:19:38

标签: html css

我有一个项目(元素A),我已设置为float:right

不幸的是,另一个团队编写的页面上的另一个元素(元素B)使用clear:both,这意味着它最终会在我的元素下面,创建一个尴尬的空白区域。虽然clear:both是在我添加元素之前编写的,并且没有考虑到它,但我宁愿在我的元素中处理它而不是改变其他人的CSS。

http://jsfiddle.net/2HwWw/

有没有办法覆盖清除:两者都是为了让我的元素不被清除,而另一个团队的项目可以留在我的旁边?基本上,我想要元素B和元素A在同一行,但只能通过操作元素A。

4 个答案:

答案 0 :(得分:2)

clear:none添加到元素中,以便它不会被清除。它应该覆盖您的同事代码,如果没有,请使用!important属性

答案 1 :(得分:1)

试试这个:

<div style="float:right;height:0;">Mine</div>
<div style="clear:both;">Theirs now</div>
<div style="height:50px" id="blankspaceforstackoverflow"></div>
<div style="float:right">Mine</div>
<div>Where I want this item, without changing its css.</div>

div中,添加:

height:0;

div&#39}将根据其内容自然调整大小。

此规则的一个例外是div包含浮动元素。如果是这种情况,您需要做一些额外的工作以确保包含div清除浮点数。您可以使用clearfix方法执行此操作。

<强> More info

<强> JSFiddle Demo

答案 2 :(得分:0)

如果我理解正确,那么第二个元素不应该是浮动的,所以它将在前一个元素的下面。

可以是inline-blockinline-table甚至blocktext-align:right;

答案 3 :(得分:0)

执行此操作的最佳方法可能是将clear: none添加到元素中,因此它不会最终位于浮动元素下方。您可以从了解更多有关房产的信息中受益。 The clear propertyfloat property直接相关,因此如果您向元素添加clear: both,则必须在下面添加浮动元素。