An interesting question has emerged in work recently: Should we also use the CSS float attribute after having CSS Grid and Flexbox?
Short answer
No! Or, in most cases, it is not used. Nowadays, I will only use it for text-surrounding pictures and will avoid using it entirely for layouts.
Longer, more annoying answers
Before Flexbox and Grid emerge, we have to use the CSS float property to create grids and layouts. In fact, this is the first attribute I came into contact with when learning web design. On a hot summer afternoon, I opened a book called "Designing with Web Standards" by Jeffrey Zeldman and moved a tiny red div with float: right
. This is simply magic! There is a huge power in the float.
Moving elements on the screen is so simple that I now wonder how many designers have fallen in love with web design just because of the simplicity of this mobile element.
However, building complex layouts with float has always been a stopgap solution: it is actually designed to just keep text around the picture.
<code>img { width: 150px; float: left; }</code>
The float problem begins when we try to build large layouts and magazine-style grids. But then we had no choice but to do so.
One problem with the float attribute is that you have to wrap the floating element with something called clearfix, which looks like this:
<code><div> <div>Column</div> <div>Column</div> <div>Column</div> </div></code>
<code>clearfix:after { content: ""; display: table; clear: both; }</code>
Jay Hoffman has described the clearfix hack before:
Clearfix, for those who don't know, this is a CSS hack, which solves a persistent bug that occurs when two floating elements are stacked side by side. When elements are aligned this way, the height of the parent container ends up becoming 0, which can easily break the layout. You might just want to place the sidebar to the left of the main content block, but the result is that the two elements overlap and collapse each other. More complicated is that this bug is inconsistent in different browsers. clearfix was invented to solve all these problems.
After that, the situation began to change slowly. Back in 2017, Rachel Andrew explained how the browser can handle clearfix problems without any hack at all. We only need the following CSS to achieve the same fix:
<code>.container { display: flow-root; }</code>
Strangely, I didn't know the existence of flow-root
value until three minutes before I typed. But this may prove what I'm going to say next: With CSS Grid and Flexbox, we don't actually need floats at all. This property was originally designed with only one purpose: to allow text to surround the picture. But now, with Grid and Flexbox, we have powerful features that can do the real layout.
Go back to the discussion I had at work. Some people say we should go back to the codebase and delete all instances of float because it is very old code and we can easily replace it with Flexbox or Grid. But here, I want to say, "Wait!" I don't think retaining the float attribute in some places in the code base does much damage - it's not the radioactive code that will cause the problem.
So, should we use CSS float for any other purpose besides having the text wrap around the image? No. But should we clear all CSS float declarations on the network right away, because it is not pure and not the "correct" approach? Nor either.
The beauty of the network is that old code should not break things. Just ask Chris. A website that doesn't use the most dazzling CSS attributes or the coolest tricks is not useless or bad. We just replaced float with better alternatives. I think this is a good lesson that these CSS properties may be there forever because they still have applicable use cases in modern web design.
This is very good.
The above is the detailed content of Is CSS float deprecated?. For more information, please follow other related articles on the PHP Chinese website!

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatilityandpowerincreatingsmoothCSSanimations.Keytricksinclude:1)Definingsmoothtransitionsbetweenstates,2)Animatingmultiplepropertiessimultaneously,3)Usingvendorprefixesforbrowsercompatibility,4)CombiningwithJavaScriptfo

CSSCountersareusedtomanageautomaticnumberinginwebdesigns.1)Theycanbeusedfortablesofcontents,listitems,andcustomnumbering.2)Advancedusesincludenestednumberingsystems.3)Challengesincludebrowsercompatibilityandperformanceissues.4)Creativeusesinvolvecust

Using scroll shadows, especially for mobile devices, is a subtle bit of UX that Chris has covered before. Geoff covered a newer approach that uses the animation-timeline property. Here’s yet another way.

Let’s run through a quick refresher. Image maps date all the way back to HTML 3.2, where, first, server-side maps and then client-side maps defined clickable regions over an image using map and area elements.

The State of Devs survey is now open to participation, and unlike previous surveys it covers everything except code: career, workplace, but also health, hobbies, and more.

CSS Grid is a powerful tool for creating complex, responsive web layouts. It simplifies design, improves accessibility, and offers more control than older methods.

Article discusses CSS Flexbox, a layout method for efficient alignment and distribution of space in responsive designs. It explains Flexbox usage, compares it with CSS Grid, and details browser support.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

SublimeText3 Linux new version
SublimeText3 Linux latest version

ZendStudio 13.5.1 Mac
Powerful PHP integrated development environment

SublimeText3 English version
Recommended: Win version, supports code prompts!

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.
