所有分类
  • 所有分类
  • 后端开发
网页排版新技巧:告别塌陷!一招解决清除浮动

网页排版新技巧:告别塌陷!一招解决清除浮动

clearfix清除浮动这种做法如果在页面复杂的布局要经常清除浮动的时候就会产生很多的空标签,增加了页面无用标签,不利于页面优化。居然还在使用这种清除浮动的方法。对大多数符合标准的浏览器应用第一个声明块,目的是创建一个隐形的内容为空的块来为

清除浮动的基本概念

.clear{clear:both;line-height:0;}

做网页排版时,我们常常要用到浮动这招,比如搞多栏布局或者图文混排什么的。不过,有次我发现我把所有子元素设成浮动以后,爸爸(这里指父元素)高度居然无法涨起来,变成塌陷了,真是让人烦心!这时候,懂得清除浮动就显得很重要了。记得以前最原始的办法就是在最后一个子元素后面加个空标签,再给它加上clear属性,这样就能清掉浮动。虽说这个法子帮助父元素恢复身高了,但也让页面里出现好多没用的空白标签,影响网页速度和美观度。

clearfix的诞生

别再用那些老套的清除浮动法了!现在有个新办法叫clearfix,只要简单地给包裹着要清理浮空的元素的父亲容器贴上clearfix类名就能搞定,省去了加空白标签的麻烦。这个方式实在是太实用,已经被广大开发者成功运用到他们的项目中去了。大部分主流浏览器都会自动加上一些样式,弄出一块什么都没有的透明块把需要清理的元素“压”下去。不过对于那些古老的IE / Mac浏览器,还得额外添加一下 inline-table 这个属性才行。

clearfix进化史

.clearfix:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
} 
.clearfix { display: inline-table; } 
* html .clearfix { height: 1%; }//Hides from IE-mac 
.clearfix { display: block; }//End hide from IE-mac

随着互联网科技的飞速进步,网页设计也在不断变化。那个时候,为了让早期IE/Mac和其他网页浏览器能正常运行,我们会在样式表里用*选择符藏起一部分规则,然后再特意去修正其他版本IE的block显示属性。后来IE6和IE7由于不支持:after伪类,于是就出现了专门为它们编写的hack code片段。

clearfix优化与终极版本

虽然clearfix基本能搞定排版浮动的问题,但遇到一些特殊情况还是得再调整一下。比如,页面布局比较乱或者有好几层子菜单的话,光靠overflow:hidden或auto来隐藏父元素滚动条就不太靠谱儿,下拉菜单很容易被藏起来或者出现不想要的滚动条。这个时候,我们可以换个法子,就是把clearfix里面的display属性的值改成table-cell、table-caption之类的,这样就能创建出一个Block Formatting Context(BFC),然后问题就能迎刃而解!

终极版本代码解析

.clearfix:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
} 
* html .clearfix { zoom: 1; } /* IE6 */

现在的clearfix代码真的是简单明了,而且经得起考验,非常稳定且兼容各种浏览器!设置个display: table什么的就构成了BFC(盒模型边界框),轻松搞定内部元素飘移,还能用”u200B”这个神秘的参数,又叫”零宽度空格”,给代码减肥瘦身!

如何选择适合自己项目的clearfix方法

在项目里头,挑个适合你需求、还能跟浏览器兼容的 Clearfix 方法很关键。如果项目比较简单、只需要处理现代浏览器的话,就挑最新版那种简洁有效的Clearfix代码使用吧;但要是要兼顾兼容或其他特殊情况的布局,那就得选以前的版本或者自己订制对应的样式来搞定。

.clearfix:after { 
    visibility: hidden; 
    display: block; 
    font-size: 0; 
    content: " "; 
    clear: both; 
    height: 0; 
} 
.clearfix{*zoom:1;}

结语

总之,随着Web前端技术越来越强大,我们平时用的css清理浮动的办法也越来越方便了。从以前需要使劲加空标签,到现在直接用clearfix代码就搞定,而且还更稳定呢~每次新的改进都是为了让前端开发变得简单和快速。所以,大家在实际工作中可以根据自己的情况来选自己觉得好用的方法,同时也要不断学习新东西,这样才能一起推动Web技术的进步。

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/04/13380.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?