首页前端开发CSScss清除浮动的方法有哪些?

css清除浮动的方法有哪些?

时间2024-05-21 14:24:03发布访客分类CSS浏览79
导读: 我们上篇文章css浮动是什么意思?css为什么要清除浮动?中已经说到使用css浮动是因为在css中一些元素是块级元素,他们会自动启用新的一行,还有另一种内联元素也就是行内元素,它们会与之前的内容保持显示在"一行";但是有时候我们需要改变...
  我们上篇文章css浮动是什么意思?css为什么要清除浮动?中已经说到使用css浮动是因为在css中一些元素是块级元素,他们会自动启用新的一行,还有另一种内联元素也就是行内元素,它们会与之前的内容保持显示在"一行";但是有时候我们需要改变这种布局方式,这就需要利用css浮动来实现。但是当出现"高度塌陷"时就会需要清除浮动。那么,css清除浮动的方法有哪些?   下面我们就来看看css清除浮动的四种方法介绍。   css清除浮动的方法一:   使用带clear属性的空元素   在浮动元素后使用一个空元素如,并在CSS中赋予.clear{ clear:both; } 属性即可清理浮动。亦可使用或来进行清理。      .news{   background-color:gray;   border:solid1pxblack;   }   .newsimg{   float:left;   }   .newsp{   float:right;   }   .clear{   clear:both;   }         

sometext

        说明:   优点:简单,代码少,浏览器兼容性好。   缺点:需要添加大量无语义的html元素,代码不够优雅,后期不容易维护。   css清除浮动的方法二:   使用CSS的overflow属性   给浮动元素的容器添加overflow:hidden; 或overflow:auto; 可以清除浮动,另外在IE6中还需要触发hasLayout,例如为父元素设置容器宽高或设置zoom:1。      .news{   background-color:gray;   border:solid1pxblack;   overflow:hidden;   *zoom:1;   }   .newsimg{   float:left;   }   .newsp{   float:right;   }         

sometext

     说明:   在添加overflow属性后,浮动元素又回到了容器层,把容器高度撑起,达到了清理浮动的效果。   优点:不存在结构和语义化问题,代码量极少   缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素;04年POPO就发现overflow:hidden会导致中键失效,这是我作为一个多标签浏览控所不能接受的。所以还是不要使用.   css清除浮动的方法三:   使用邻接元素处理   什么都不做,给浮动元素后面的元素添加clear属性。      .news{   background-color:gray;   border:solid1pxblack;   }   .newsimg{   float:left;   }   .newsp{   float:right;   }   .content{   clear:both;   }         

sometext

        css清除浮动的方法四:   使用CSS的:after伪元素   结合:after伪元素(注意这不是伪类,而是伪元素,代表一个元素之后最近的元素)和IEhack,可以完美兼容当前主流的各大浏览器,这里的IEhack指的是触发hasLayout。   给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素(Blockelement)清理浮动。      .news{   background-color:gray;   border:solid1pxblack;   }   .newsimg{   float:left;   }   .newsp{   float:right;   }   .clearfix:after{   content:"020";   display:block;   height:0;   clear:both;   visibility:hidden;   }   .clearfix{   /*触发hasLayout*/   zoom:1;   }         

sometext

     说明:通过CSS伪元素在容器的内部元素最后添加了一个看不见的空格"020"或点".",并且赋予clear属性来清除浮动。需要注意的是为了IE6和IE7浏览器,要给clearfix这个class添加一条zoom:1; 触发haslayout。







本文转载自中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: css清除浮动的方法有哪些?
本文地址: https://pptw.com/jishu/664925.html
Chainer怎么支持模型解释性和可解释性 css隐藏元素有哪些方法?

游客 回复需填写必要信息