CSS清浮动

作者: ferrint | 来源:发表于2017-03-02 20:08 被阅读17次

关键词:清浮动

原因
浮动是因为使用float:left或float:right,使元素脱离了文档流而产生的浮动。

影响

1、背景不能显示
由于浮动产生,如果对父级设置了(CSS background)背景颜色或背景图片,而父级不能被撑开,所以导致CSS背不能显示。

2、边框不能撑开
如果父级设置了CSS边框属性(css border),由于子级里使用了float属性,产生浮动,父级不能被撑开,导致边框不能随内容而被撑开。

3、margin padding设置值不能正确显示
由于浮动导致父级子级之间设置了css padding、css margin属性的值不能正确表达。特别是上下边的padding和margin不能正确显示。

解决方法

1 . 父级div定义 height

2 . 结尾处加空div标签 clear:both
* .clearfloat{clear:both}

3 . 父级div定义 伪类:after 和 zoom

 /*清除浮动代码*/ 
.clearfloat:after{
      display:block;
      clear:both;
      content:"";
      visibility:hidden;
      height:0
} 
.clearfloat{zoom:1} 

4 . 父级div定义 overflow:hidden

原理:必须定义width或zoom:1,同时不能定义height,使用overflow:hidden时,浏览器会自动检查浮动区域的高度

*缺点:不能和position配合使用,因为超出的尺寸的会被隐藏。 *

5 . 父级div定义 overflow:auto

原理:必须定义width或zoom:1,同时不能定义height,使用overflow:auto时,浏览器会自动检查浮动区域的高度

*缺点:内部宽高超过父级div时,会出现滚动条。 *

6.父级div 也一起浮动

毫无优点,仅作了解


完美清浮动方法

  .clear:before,.clearafter{
    content: ".";
    line-height: 0;
    display: table;
  }

  .clear:after { 
    overflow: hidden;
    clear: both; 
    visibility: hidden; 
  }/*for w3c*/ 
  
  .clear { 
  zoom:1; 
  }/*for IE*/ 

相关文章

  • CSS清浮动

    关键词:清浮动 原因浮动是因为使用float:left或float:right,使元素脱离了文档流而产生的浮动。 ...

  • css清浮动

    一、浮动产生原因 一般浮动是什么情况呢?一般是一个盒子里使用了CSS float[http://www.divcs...

  • CSS代码片段

    字体 清浮动 CSS Hacks(Browser Specific Hacks) 见 browserhacks 跨...

  • 1-浮动

    css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? http://blog.csdn.net...

  • HTML—浮动介绍以及清除浮动

    总结了几篇介绍HTML中浮动以及清除浮动的文章,对浮动不是很了解的可以作为学习资料进行参考! 浅谈css中浮动和清...

  • 一篇文章带你了解CSS clear both清除浮动

    一、前言 CSS clear both清除产生浮动 ,使用了css float浮动会产生css浮动,这个时候就需要...

  • 随手笔记

    CSS 清浮动 clear : both;overflow: hidden; BFC (块级格式化上下文): 方法...

  • CSS浮动

    简介其实,CSS就三个大模块: 盒子模型 、 浮动 、 定位,其余的都是细节。这篇讲CSS浮动,在CSS中浮动主...

  • css定位

    CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...

  • CSS 定位

    CSS 定位 (Positioning) 属性允许你对元素进行定位。 CSS 定位和浮动 CSS 为定位和浮动提供...

网友评论

    本文标题:CSS清浮动

    本文链接:https://www.haomeiwen.com/subject/nqpkgttx.html