• 理解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类就可以了。

    优秀文章首发于聚享小站,欢迎关注!
  • 相关阅读:
    uwsgi 的启动停止重启
    项目部署(Python3 + ubuntu 16.04(ali server) + Nginx + uWSGI + Django 1.11)
    阿里云连接上Mysql数据库(10061 errors)
    本地数据库上传到阿里云Mysql
    Django 用户的修改密码接口
    django 的忘记密码接口
    Git光速入门
    缓存问题:一致性、穿击、穿透、雪崩、污染
    redis进阶-高可用:主从复制详解
    Redis分片技术(Redis Cluster)
  • 原文地址:https://www.cnblogs.com/yesyes/p/15356429.html
Copyright © 2020-2023  润新知