目录
简短回答
较长、更烦人的回答
首页 web前端 css教程 CSS Float弃用了吗?

CSS Float弃用了吗?

Mar 27, 2025 am 09:24 AM

Is CSS float deprecated?

最近工作中出现了一个有趣的问题:在有了CSS Grid和Flexbox之后,我们是否还应该使用CSS float属性?

简短回答

不!或者说,大部分情况下不用。如今,我只会将其用于文本环绕图片,并且会避免将其完全用于布局。

较长、更烦人的回答

在Flexbox和Grid出现之前,我们必须使用CSS float属性来创建网格和布局。事实上,这是我学习网页设计时接触到的第一个属性。在一个炎热的夏日下午,我打开了一本Jeffrey Zeldman的《Designing with Web Standards》,然后用float: right移动了一个小小的红色div。这简直是魔法!float中蕴含着巨大的力量。

在屏幕上移动元素如此简单,以至于我现在想知道有多少设计师仅仅因为这种移动元素的简易性而爱上了网页设计。

但是,使用float构建复杂的布局一直是一种权宜之计:它实际上只设计用于让文本环绕图片。

<code>img {
  width: 150px;
  float: left;
}</code>
登录后复制

当我们尝试构建大型布局和杂志式网格时,float的问题就开始了。但那时我们别无选择,只能这么做。

float属性的一个问题是,你必须用一个叫做clearfix的东西来包裹浮动元素,它看起来像这样:

<code><div>
  <div>Column</div>
  <div>Column</div>
  <div>Column</div>
</div></code>
登录后复制
<code>clearfix:after {
  content: "";
  display: table;
  clear: both;
}</code>
登录后复制

Jay Hoffman之前描述过clearfix hack:

清除浮动(clearfix),对于那些不知道的人来说,这是一个CSS hack,它解决了一个持续存在的bug,这个bug发生在两个浮动元素并排堆叠的时候。当元素以这种方式对齐时,父容器的高度最终会变为0,这很容易破坏布局。你可能只是想将侧边栏放在主内容块的左侧,但结果却是两个元素相互重叠和折叠。更复杂的是,这个bug在不同的浏览器中表现不一致。clearfix就是为了解决所有这些问题而发明的。

此后,情况开始慢慢发生变化。早在2017年,Rachel Andrew就解释了浏览器如何完全不需要任何hack就能处理clearfix问题。我们只需要以下CSS就能实现同样的修复:

<code>.container {
  display: flow-root;
}</code>
登录后复制

奇怪的是,直到我打字前三分钟,我才知道flow-root值的存在。但这或许可以证明我接下来要说的论点:有了CSS Grid和Flexbox,我们实际上根本不需要float。这个属性最初的设计只有一个目的:让文本环绕图片。但是现在,有了Grid和Flexbox,我们拥有了强大的功能,可以完成真正的布局工作。

回到我在工作中进行的讨论。一些人说,我们应该回到代码库中,删除所有float的实例,因为它是很旧的代码,我们可以很容易地用Flexbox或Grid替换它。但在这里,我想说,“等等!”我认为在代码库中的一些地方保留float属性并没有造成太大的损害——这不是会导致问题的放射性代码。

那么,除了让文本环绕图片之外,我们还应该将CSS float用于其他任何用途吗?不。但是,我们是否应该立即清除网络上所有CSS float声明,因为它不纯粹,不是“正确”的做法?同样也不。

网络的妙处在于旧代码不应该破坏东西。问问Chris就知道了。一个没有使用最炫的CSS属性或最酷技巧的网站并不是无用或糟糕的。我们只是用更好的替代方案取代了float。我认为这是一个很好的教训,这些CSS属性可能会永远存在,因为它们在现代网页设计中仍然有适用的用例。

这很好。

以上是CSS Float弃用了吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1421
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

如何在WordPress主题中构建VUE组件 如何在WordPress主题中构建VUE组件 Apr 11, 2025 am 11:03 AM

内联式模板指令使我们能够将丰富的VUE组件构建为对现有WordPress标记的逐步增强。

php是A-OK用于模板 php是A-OK用于模板 Apr 11, 2025 am 11:04 AM

PHP模板通常会因促进Subpar代码而变得不良说唱,但这并不是这样的情况。让我们看一下PHP项目如何执行基本的

静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

See all articles