【问题标题】:To float or not to float... your layout [closed]浮动或不浮动......你的布局[关闭]
【发布时间】:2014-04-23 07:04:56
【问题描述】:

我最近开始讨论float 可以在 布局设计中使用,但不应该用于 布局设计。要指定,它可以用于float 某些元素,但不能相对于彼此定位整个语义部分和容器。尽管个人引用了几个来源(source 1source 2),这可能导致人们相信float 在某些布局情况下很难使用,但我没有看到任何与规范相关联的证据来支持声称它不应该用于 布局。

如果您可以使用float 来定位布局的小部分,为什么不将这种技术扩展到全局?即整个布局。

我知道有像flexible box layout 和其他一些新技术出现,但它们仍然是草稿,目前不受支持。 inline-block 似乎是一个不错的候选者,但有时你只需要修复 float,并且有一些技巧可以让它在旧版浏览器中也能正常工作。

所以我想我的问题是……float 真的不应该用于布局吗?现在它是一种非语义还是过时的技术,类似于过去的 table 布局?

【问题讨论】:

  • 也许我应该删除关于使用哪种技术的问题的第二部分,这样我的问题就不会被删除?只是想知道...在您投反对票之前对某事发表评论总是有帮助的,这样人们就知道问题出在哪里。
  • 你是对的;据我所知,没有支持或反对浮动的语义规则,因此这是基于意见的,因此是题外话。我没有投反对票,但我确实对你的问题投了赞成票。
  • 浮动 已经被用于布局很长时间了——但恕我直言,基本上是因为它是我们拥有的 唯一 工具;它从来没有打算用于这种规模。我认为你不能在这里与“语义”争论——因为 CSS 的工作主要是视觉的,因此语义“关注点”实际上并不适用于此。而且我们现在正在获得“更好”的工具(flex box model f.i.),比使用浮动布局(清除、包含浮动元素等)更容易。
  • 否;因为没有语义规则规定您应该或不应该使用它们,它基于意见的。
  • 嗯,CSS 几乎与 HTML 语义无关。我从来没有听过有人说“不要浮动<article>”或者你在说什么。我也没有在您的两篇链接文章中看到它。真的不知道你在问什么。

标签: html css css-float


【解决方案1】:

行话意义上的语义只是一种格式化 HTML 的方式,以便搜索引擎可以使用某种上下文解析数据。广义上的语义是您如何对网站进行编码,以便其他开发人员可以从您的编码风格中获取意义。

浮动只是工具带中的一个工具,没有任何语义上下文。此外,浮点数被如此广泛地使用,以至于说不应该使用它们是不协调的。有很多框架依赖浮动作为其整体结构的一部分(Bootstrap、Gumby、Foundation、Skeleton 等)。

但是,我可以说使用浮点数的困难。对于刚开始接触 CSS 的人来说,很难理解浮动到底是怎么回事。此外,您还有清算、流入和流出元素。这肯定会令人困惑。但是,浮点数绝对是 CSS 规范的基石,我无法想象没有它们我的工作。

希望这会有所帮助!

【讨论】:

  • 非常感谢您提供的信息丰富的回答!在收到所有的 cmets、downvotes 和 close-votes 之后,让我感觉好一点。只是想学习!
  • 我明白了!我对SO有类似的问题。似乎大多数成员都希望以某种格式提出问题,而如果不是这种情况,结果就无法预测!
【解决方案2】:

Bootstrap 严重依赖浮点数,它可能是最常用的 CSS 库。话虽这么说,对于每个 bootstrap 的粉丝来说,有人说这不是最佳实践。

做对你有用的事

【讨论】:

  • “做对你有用的事”。是的。但了解全套选项,因此您可以为每种情况选择正确的工具。不要让float 成为你的golden hammer
猜你喜欢
  • 2010-09-24
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多