zoukankan      html  css  js  c++  java
  • 理解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类就可以了。

    优秀文章首发于聚享小站,欢迎关注!
  • 相关阅读:
    找到数组或整数列表中连续子序列的最大和
    编写一个调用的函数,该函数接受一个括号字符串,并确定括号的顺序是否有效
    SRS流媒体服务器搭建及拉取摄像头视频流经opencv处理后再推流至SRS
    (pymysql.err.OperationalError) (1055, "Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column
    微信商户转帐到个人零钱
    双色球1千万,等你来拿!
    python后端开发面试总结
    alipay接入步骤
    Mongodb简单操作
    flask基础
  • 原文地址:https://www.cnblogs.com/yesyes/p/15356429.html
Copyright © 2011-2022 走看看