关于清除浮动的理解(个人理解)

要清除浮点,最好的伪元素方法是代码 .clearfix::after{content:"";display:block;clear:both;},它不会修改布局并且具有高度可重用性。

css清除浮动 clearfix

哈哈,你说的很详细,就像写说明书一样。
我来说说我当时陷入的陷阱吧。

前年,我给一个老客户建了一个网站,就使用了这种浮动布局。
我当时还小,什么都不懂,所以直接在每个浮动元素后面加上了Clear:no div。
结果呢? IE6 下页面立刻崩溃,白边吓死我了。
后来发现IE6 不太友好。

后来,我学会了聪明。
正如您现在所看到的,不再需要透明部分。
只需添加 Clearfix 类即可。
像这样:
CSS .擦除修复::之后{ 内容:“”; 显示:表; 明确:两者;
然后将这个类添加到父容器中。
正如您所看到的,这很简单,对吧?它具有良好的兼容性,现在所有浏览器都支持。

我记得有一次在论坛上,有人问为什么他们的浮动布局不好用。
当我看到我的朋友时,所有的浮动元素都被使用 Clear div 清除了。
我让他改成Clearfix,但他居然告诉我他不知道。
哈哈,年轻人就喜欢做这些复杂的事情。

不过话说回来,这个明显的修复方法非常实用。
这是最安全的选择,特别是对于一些较旧的项目或客户要求高兼容性的项目。
正如你所看到的,我用这个方法改造了去年做的一个旧项目,没有出现任何问题。

哦,对了,现在有一个更简单的方法,只需使用 view:flow-root 即可。
我尝试一个新项目已经有一段时间了。
直接显示父容器:flow-root;没有任何办法去除飞蚊症,效果是一样的。
不过这个兼容性有点差,老版本的浏览器可能不支持。

总之,清除浮动的方法有很多种,但Clearfix仍然是最经典、最实用的。
你看,做了这么多年,我最喜欢的还是这个。

css中clear的作用是什么

在 CSS 中,clear 属性确实非常重要,尤其是在处理浮动元素时。
说实话,当时我不太明白为什么要加这个,后来慢慢想通了。

主要功能只有一个:浮动元素在文档流之外,后面的元素可能会乱序、与其重叠或者位置错误。
Clear 强制一个元素出现在所有浮动元素下方并恢复正常顺序。

只有几个属性值:
none:不删除任何内容,默认值。
这意味着没有浮动被清除,后续元素仍然会受到先前浮动元素的影响。
left:清除左侧浮动的。
确保元素列在左侧导航元素下方。
右:清除右侧浮动的。
确保这些元素列在右侧导航元素下方。
两者:最常用。
同时清除左右浮动,确保元素位于所有浮动元素的下方。

一个典型的场景是,比如有一个侧边栏浮动,但是下面的内容被挤压或者重叠了怎么办?只需添加一个空元素或带有clear:的伪元素即可强制其换行。
例如,编写一个clearfix::after{content:"";display:table;clear:both;}并将这个clearfix类添加到父容器中,以防止显示折叠。

查看示例:
浮动左侧元素
正常排列的元素

<样式> .float-left{浮动:左;宽度:5 0%;}。
.clear-element{清除:两者;} /确保该元素位于浮动元素下方/ 如果没有明确使用,.clear元素可以被浮动元素覆盖;使用后,它会正常包裹。
</风格>
小心,不要总是使用clear。
添加一堆无用的空元素很容易。
现在建议使用 ::after 伪元素来创建消歧义。
或者现在我们使用Flexbox和Grid,我们基本上不再需要float和clear了。

总之,clear对于解决导航带来的布局问题非常高效,并且可以让页面的结构更加稳定。