zoukankan      html  css  js  c++  java
  • 浮动清理

    清除浮动

    父元素浮动

    父元素浮动的子元素会有自己的布局。

    clear:both

    可以单独写一个标签放在元素最后,但现在通常都使用伪元素。

    .clearfix:after {content:""; display:block;clear:both; } 
    .clearfix { *zoom:1; } //这个也是layout问题,解释见下面
    

    你或许见过下面的写法:

    .clearfix:after {
        content: "020";//空白点
        display: block;
        height: 0;//让元素不显示,包括 visibility:hidden;这种方式
        clear: both;
    }
    

    这个是早期浏览器的问题,这么写可以防止伪元素使元素间出现空隙。

    overflow:hidden

    对元素的高度进行计算,然后完成裁剪,这里涉及到BFC

    BFC 全称是块级排版上下文,独立的块级上下文可以包裹浮动流,全部浮动子元素也不会引起容器高度塌陷,也就是说包含块会把浮动元素的高度也计算在内,所以不用清除浮动来撑起高度。

    那么如何触发BFC呢?
    float 除了none以外的值
    overflow 除了visible 以外的值(hidden,auto,scroll )
    display (table-cell,table-caption,inline-block)
    position(absolute,fixed)

    对了,bfc虽然无处不再,但是另一个地方也显示了他的问题:就是关于同一块bfc内,垂直的元素的margin上下值是会重叠的。可以用上面的办法将子元素变成新的bfc来解决重叠的问题。

    对了,如果有低版本的ie兼容问题,还需要添加固定layout的方法:

    *zoom:1
    

    layout这是个坑爹的属性,ie8以后就被废弃了,别想太多。

    其实说起来,我觉得bfc跟盒子模型也有很大的关系

    两种经典的盒子模型:

    w3c模型:
    content不包括padding,border,类似box-sizing:content-box(default)

    ie模型:
    content包括padding,border

    其实ie模型就类似之后的css属性中box-sizing:border-box

  • 相关阅读:
    FreeRTOS 动态内存管理
    NODE.JS之我见
    Maven使用详解
    WPF依赖属性详解
    对比MFC资源文件谈谈WPF布局方式
    MAPPING SEGMENTS TO PAGES
    只用一行代码让你的ASP.NET MVC 跑起来
    WPF The Hard Way
    Java判断回文数算法简单实现
    2014让我受益最大的那些书--别找了,都在这里
  • 原文地址:https://www.cnblogs.com/mydia/p/6805074.html
Copyright © 2011-2022 走看看