search
HomeWeb Front-endCSS TutorialIs CSS float deprecated?

Is CSS float deprecated?

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Working With GraphQL CachingWorking With GraphQL CachingMar 19, 2025 am 09:36 AM

If you’ve recently started working with GraphQL, or reviewed its pros and cons, you’ve no doubt heard things like “GraphQL doesn’t support caching” or

Classy and Cool Custom CSS Scrollbars: A ShowcaseClassy and Cool Custom CSS Scrollbars: A ShowcaseMar 10, 2025 am 11:37 AM

In this article we will be diving into the world of scrollbars. I know, it doesn’t sound too glamorous, but trust me, a well-designed page goes hand-in-hand

Making Your First Custom Svelte TransitionMaking Your First Custom Svelte TransitionMar 15, 2025 am 11:08 AM

The Svelte transition API provides a way to animate components when they enter or leave the document, including custom Svelte transitions.

Show, Don't TellShow, Don't TellMar 16, 2025 am 11:49 AM

How much time do you spend designing the content presentation for your websites? When you write a new blog post or create a new page, are you thinking about

Building an Ethereum app using Redwood.js and FaunaBuilding an Ethereum app using Redwood.js and FaunaMar 28, 2025 am 09:18 AM

With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum

What the Heck Are npm Commands?What the Heck Are npm Commands?Mar 15, 2025 am 11:36 AM

npm commands run various tasks for you, either as a one-off or a continuously running process for things like starting a server or compiling code.

Let's use (X, X, X, X) for talking about specificityLet's use (X, X, X, X) for talking about specificityMar 24, 2025 am 10:37 AM

I was just chatting with Eric Meyer the other day and I remembered an Eric Meyer story from my formative years. I wrote a blog post about CSS specificity, and

How do you use CSS to create text effects, such as text shadows and gradients?How do you use CSS to create text effects, such as text shadows and gradients?Mar 14, 2025 am 11:10 AM

The article discusses using CSS for text effects like shadows and gradients, optimizing them for performance, and enhancing user experience. It also lists resources for beginners.(159 characters)

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version