zoukankan      html  css  js  c++  java
  • css之浮动

        不得不说float是件很恶心的事情,最开始学习布局时利用各种各样的float,最后搞的晕头转向。现在发现,一个好的网页制作使用float越少它的后续可开发性越高。但使用float时不可避免的,现在就说一说float那点事。

        float 属性定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。

        文档流是相对于盒子模型讲的;文本流是相对于文子段落讲的。元素浮动之后,会让它跳出文档流,也就是说当它后面还有元素时,其他元素会无视它所占据了的区域,直接在它身下布局。但是文字却会认同浮动元素所占据的区域,围绕它布局,也就是没有拖出文本流。这就是文本环绕原因。但是绝对定位后,不仅元素盒子会拖出文档流,文字也会出文本流。那么后面元素的文本就不会在认同它的区域位置,会直接在它后面布局,不会在环绕。

    浮动元素与block,inline,inline-block元素重叠显示顺序

    (1)block元素与浮动元素重叠时,其边框和背景在该浮动元素之下显示,而内容在浮动元素之上显示

    (2)inline或inline-block元素与浮动元素重叠时,其边框、背景和内容都在该浮动元素之上显示

    清除浮动方法

    (1)  给父盒子加高度

    使用设置高度样式,清除浮动产生,前提是对象内容高度要能确定并能计算。

    (2)  父设置overflow:hidden

    原因?因为overflow:hidden属性相当于是让父级紧贴内容,这样即可紧贴其对象内内容(包括使用float的div盒子),从而实现了清除浮动。

    (3)  clear:both

    新建一个样式选择器CSS命名为“.clear”,并且对应选择器样式为“clear:both”,然后我们在父级“</div>”结束前加此div引入“class="clear"”样式。

    (4)使用:after 伪元素

    给浮动元素的容器添加一个clearfix的class,然后给这个class添加一个:after伪元素实现元素末尾添加一个看不见的块元素(Block element)清理浮动。

    需要注意的是为了IE6和IE7浏览器,要给clearfix这个class添加一条zoom:1;触发haslayout。

    .clearfix:after{

      content: ".";

      display: block;

      height: 0;

      clear: both;

      visibility: hidden; 

      }

    .clearfix {

      /* 触发 hasLayout */

      zoom: 1;

      }

    总结:

    在网页主要布局时使用:after伪元素方法并作为主要清理浮动方式;在小模块如ul里使用overflow:hidden;;如果本身就是浮动元素则可自动清除内部浮动,无需格外处理;正文中使用clear both清除浮动。

  • 相关阅读:
    Java 蓝桥杯 算法训练 貌似化学
    Java 蓝桥杯 算法训练 貌似化学
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
    JAVA-蓝桥杯-算法训练-字符串变换
    Ceph:一个开源的 Linux PB 级分布式文件系统
    shell 脚本监控程序是否正在执行, 如果没有执行, 则自动启动该进程
  • 原文地址:https://www.cnblogs.com/microcosm/p/6921676.html
Copyright © 2011-2022 走看看