css相对定位绝对定位
页面布局是CSS 3引入许多新功能的领域之一。 人们普遍认为这是一件好事。 但是随着W3C刚刚宣布CSS 3中将有两个用于页面布局的独立模块,这些标准可能要求太多的浏览器开发人员。
尽管可能会因您的意愿而弯曲CSS的定位功能而获得回报,但我认为我们都可以同意CSS 2在设计时并未考虑三列布局。 浮动和负利润可以完成这项工作,但他们肯定会打架。
W3C在2005年12月将W3C作为工作草案引入,不能否认CSS Advanced Layout模块比我们现在的方法更好,但是浏览器供应商对实现此模块的兴趣明显不足,这表明它可能走错了路。 在八月份发布了最新的工作草案之后,SitePen的亚历克斯·罗素(Alex Russell)受到了严厉的批评 :
我什至不确定是否应该提及“高级”版式[模块],因为担心更多的人可能会真正看到它。 您可能希望有一个“高级布局”模块为我们提供hbox和vbox的行为或网格布局模型或进行拉伸……但是,“答案”显然是ascii艺术 。
似乎至少有一些W3C CSS工作组成员同意。 上个月,该小组发布了另一个用于布局CSS 3模块的第一个公共工作草案: CSS Grid Positioning 。
这个新的布局模块建立在现有的文本列多列布局模块的基础上,该模块在6月获得了最新的工作草案,而Firefox 2和Safari 3现在得到了部分支持。网格定位使您可以将元素与“隐式”对齐网格”由多列元素定义。 另外,您可以定义一个“显式网格”,然后将元素与之对齐。 这通过引入新CSS长度度量来实现:网格单位(例如1.5gr
)。
Advanced Layout模块和Grid Positioning模块之间的交互仍然需要指定,但是可以预期使用Advanced Layout模块定义定位网格的元素还将定义一个隐式网格,以使元素与Grid Positioning的功能对齐。
所有这些听起来不错,但是我们有能力使用其中的任何一种吗? 到目前为止,甚至相对冒险的浏览器(如Opera和Safari)都避开了“高级布局”模块,尽管“网格定位”确实建立在获得浏览器支持的功能上,但这种新的布局模块看起来并不容易实现。
在CSS面临的最大挑战是让浏览器制造商对新功能进行投资的时候,W3C是否应该通过多个CSS模块来降低其“销售力度”来完成同一工作? 还是继续提出新CSS布局标准,直到浏览器对其中一种感兴趣,对于W3C来说是一件好事吗?
翻译自: https://www.sitepoint.com/css-positioning-three-specs-better-than-one/
css相对定位绝对定位