CSS - 绝对定位还是浮动?

14

我有一个基本的布局,其中body div设置为特定宽度。并且左右边距都设置为auto。结果div被居中。
现在,当涉及到定位此div内的所有子元素时,最好使用绝对定位还是固定坐标?这些子元素基本上是文本列,一些图像和几个标题。我发现将它们全部浮动到左侧会使它们堆叠在彼此后面。这基本上就是我想要的。但指定坐标是否更好?我遇到了IE的一个小常见边距错误。我知道绝对定位可以解决它。但这是一个不洁的解决方案吗?
我的意思是,这个布局本身在某种程度上是液体的。但是body div具有其宽度。因此,子元素不会因分辨率而移动。

2个回答

14
注意:IE中的边距错误也可以通过将带有边距的div包装在没有边距的div中,并浮动该外部div来“修复”。
至于绝对定位vs.浮动:我建议你看一下这个页面,它似乎是一个很好的总结,并问问自己是否有任何缺点引起了你的警觉。
个人而言,如果所有div的内容都是静态的,我会使用绝对定位;如果其中一些是动态的,则使用浮动。但这是一个主观的答案。

1
好的,那我当时想得不太离谱了,是吧? :) 我想这次我会坚持使用绝对定位。 :) - Kenny Bones
根据 StackOverflow 的政策,如果您可以总结您提供的链接内容,那将是非常好的。 - Baumr

1

我认为使用绝对定位并没有问题。可能的缺点之一是您的样式表会更难维护,因为您必须指定宽度和位置。如果您将来必须更改任何列的宽度,则必须在两个位置更新像素值。我认为在未来使用浮动和边距会更容易修改。


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