• 理解CSS定位中的float


    float

    float属性定义元素的浮动方向,任何元素都可以设置浮动,浮动元素会生成一个块级框,无论本身是什么类型的元素。默认值none不进行浮动,属性值left元素向左浮动,属性值right元素向右浮动,inherit继承。

    浮动元素的特性:

    浮动流

    参考例1

    浮动元素会脱离正常的文档流,构成自己的浮动流。浮动流中的元素外边距不会合并,元素在一个固定容器中进行浮动时,如果当前行放不下,元素会自动到排到下一行。

    包裹性

    参考里2

    当浮动元素作为父元素时,并且没有设置固定宽高时,父元素会包含所有浮动的后代元素

    破坏性

    参考例3

    由于浮动元素脱离正常的文档流,所以普通流中的父元素如果没有设置宽高,则浮动元素作为子元素时会造成高度塌陷,父元素不会包裹子元素。

    clear

    clear属性用于清除浮动,默认值none,所有block元素和inline-block元素都可以使用该属性。属性值left清除左测浮动,属性值right清除右浮动,both清除左右浮动,inherit继承。清浮动是为了解决浮动元素的高度塌陷问题。

    clear属性并不能改变已经浮动的元素,清除浮动的原理是在浮动元素元素下面添加了非浮动元素,这样父元素由于要包含非浮动元素,所以高度会从新计算

    清除浮动

    清除浮动的方法有两种,第一种是使用clear属性,第二种是触发BFC,常用的是使用clear属性。

    触发父元素BFC:
    float: left / right
    position: absolute / fixed
    display: inline-block / table-cell / tabl-caption / flex
    overflow: hidden / scroll / auto

    使用clear属性:

    参考例4

    .clearfix::after {
      display: table;
      content: '';
      clear:both;
    }
    

    使用伪元素的好处是不用添加额外的html代码,只需要为浮动元素的父元素添加clearfix类就可以了。

    优秀文章首发于聚享小站,欢迎关注!
  • 相关阅读:
    try-with-resources优先于try-finally
    创建和销毁对象——避免创建不必要的对象
    创建和销毁对象——用私有构造器或者枚举类型强化Singleton属性
    创建和销毁对象——遇到多个构造器参数时考虑使用构建器
    创建和销毁对象——用静态工厂方法代替构造器
    计算机网络物理层——数据通信的基础知识
    多线程——线程交互
    多线程——同步问题
    Percona Monitoring and Management (PMM)
    Docker
  • 原文地址:https://www.cnblogs.com/yesyes/p/15356429.html
Copyright © 2020-2023  润新知