Differences in usage of display:table and display:block

巴扎黑
Release: 2017-07-17 15:09:40
Original
4925 people have browsed it

We all know that clearfix is ​​usually written like this:

.clearfix:before,.clearfix:after{ 
    content:""; 
    display:table; 
} 
.clearfix:after{clear:both;}
Copy after login

But why use display: table? When I use display:block, the display seems to be normal and the floats can be cleared.

I have also searched for this question, and I feel that the explanation is confusing or my level is too low. Anyway, I can’t understand what they want to express, and they don’t give examples. Okay, nonsense. Without further ado, let’s take a look at the results:

See the Pen Clearfix by wenjie (@wenjie) on CodePen.

There are a lot of talks on the Internet about how to make the parent container form a BFC and what to prevent margin collapse. But if I don’t give you examples, I won’t collapse no matter what I do. I originally tested the blue piece. Did you see it? I used: block. The margin is normal and has not collapsed? Later I discovered that the margin actually needs to be on a label that is not floating for it to collapse. So display:table is to solve this problem.

When both are floating, collapse will not occur. No matter how you test, you will not be able to detect what is wrong with using block instead of table.

Why should we write: before? When I remove it, I also clear the float normally. In the same way, it also prevents the margin-top from collapsing. It can also be measured when there are no floating labels.

Actually, I have doubts about the word collapse. It has not collapsed, its margin still exists, it is just a margin for the outer container. Doesn't collapse mean that it doesn't exist or becomes smaller?

In the latest browser (I used FF54 for testing), you can directly use display: flow-root; to clear floats. The effect is the same as the display:table we use.

The above is the detailed content of Differences in usage of display:table and display:block. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!