【发布时间】:2014-04-23 07:04:56
【问题描述】:
我最近开始讨论float 可以在 布局设计中使用,但不应该用于 布局设计。要指定,它可以用于float 某些元素,但不能相对于彼此定位整个语义部分和容器。尽管个人引用了几个来源(source 1、source 2),这可能导致人们相信float 在某些布局情况下很难使用,但我没有看到任何与规范相关联的证据来支持声称它不应该用于 布局。
如果您可以使用float 来定位布局的小部分,为什么不将这种技术扩展到全局?即整个布局。
我知道有像flexible box layout 和其他一些新技术出现,但它们仍然是草稿,目前不受支持。 inline-block 似乎是一个不错的候选者,但有时你只需要修复 float,并且有一些技巧可以让它在旧版浏览器中也能正常工作。
所以我想我的问题是……float 真的不应该用于布局吗?现在它是一种非语义还是过时的技术,类似于过去的 table 布局?
【问题讨论】:
-
也许我应该删除关于使用哪种技术的问题的第二部分,这样我的问题就不会被删除?只是想知道...在您投反对票之前对某事发表评论总是有帮助的,这样人们就知道问题出在哪里。
-
你是对的;据我所知,没有支持或反对浮动的语义规则,因此这是基于意见的,因此是题外话。我没有投反对票,但我确实对你的问题投了赞成票。
-
浮动 已经被用于布局很长时间了——但恕我直言,基本上是因为它是我们拥有的 唯一 工具;它从来没有打算用于这种规模。我认为你不能在这里与“语义”争论——因为 CSS 的工作主要是视觉的,因此语义“关注点”实际上并不适用于此。而且我们现在正在获得“更好”的工具(flex box model f.i.),比使用浮动布局(清除、包含浮动元素等)更容易。
-
否;因为没有语义规则规定您应该或不应该使用它们,它是基于意见的。
-
嗯,CSS 几乎与 HTML 语义无关。我从来没有听过有人说“不要浮动
<article>”或者你在说什么。我也没有在您的两篇链接文章中看到它。真的不知道你在问什么。