使用浮动来定位元素是一个好的实践吗?

4

我能否使用浮动(float)来放置网页元素,而不是使用position:absolute或position:relative?


5
好的,它有自己的目的。答案是肯定的,但这取决于你想做什么。 - Felix Kling
5个回答

4

基本上?当然,这就是它存在的原因。

是否是正确的选择取决于您想要做什么。

您只需要注意后果-例如,在使用多个连续浮动元素时需要使用clear属性以避免产生不良影响。


4
许多HTML和CSS特性一样,float属性被滥用了。它的设计初衷是处理小浮动元素(例如段落中的图片),但却被用于创建页面布局。问题在于CSS并没有真正为我们提供更好的替代方案。所以在我看来,这不是一个好的做法,但通常也是必须采取的方法 :)
顺便说一下,十年前的浏览器对position属性的支持非常差(尤其是Internet Explorer),因此通常不是一个选项。例如,你不能通过将相对框放置在主框的角落来创建圆角:它们总是被位移。幸运的是,现在这已经得到了很大的改善,成为了一种优秀的工具。

2
浮动是在页面上定位元素的一种极好的方式,有时甚至是必需的。

0

在使用float时,首先按照正常流程布置一个框,然后将其从流程中移除并尽可能向左或向右移动。而在position中,一个框完全从正常流程中移除(对后续兄弟节点没有影响),并分配一个相对于包含块的位置。因此,两者都有各自的用途,您可以根据特定位置的需要使用它们。


0
我可以使用float而不是使用position:absolute或relative吗?
不行。与绝对或相对定位相比,浮动具有局限性。并非所有通过相对或绝对定位制作的布局都可以使用浮动来制作。但是反过来也是如此。
正如所有答案所述:每种方法都有其自身的目的、限制和用途。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接