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

    浮动特性:

    1、浮动的元素不会占据标准流的空间,但是会影响标准流中的文本的排版。浮动只有左右浮动。

    2、浮动元素A的位置与上一个元素有关系。如果上一个元素有浮动,则A的顶部与上一个元素顶部对齐,如果没有浮动,则与其底部对齐。

    3、一个父盒子中的子盒子,如果其中一个子级有浮动,则其他子级都需要浮动,才能一行显示。

    4、元素浮动之后,如果没有设置宽高,元素会根据内容的多少来设置内容的大小,元素将会有行内块元素的属性。

    5、元素浮动之后,如果父元素没有设置高度,会造成父元素高度塌陷。 解决这个问题?——在父元素中加入属性:overflow:hidden;超出的部分进行隐藏。

    overflow属性:

    当盒子内的元素超出盒子自身的大小时,内容的显示方式 visible:内容不会被修剪,会呈现在元素框之外(默认) hidden:被修剪隐藏,可以使用这个属性来清除浮动 , auto:自适应显示滚动条 scrol:内容会被修剪,会显示滚动条

    bfc:

    overflow可以触发元素的bfc,可以让元素具有排版的空间和权限,在bfc内部所有的元素都依据父元素进行排版和布局,所有父元素具有了包裹性,这就是解决高度塌陷问题的原理。 浮动、定位、overflow、dispaly、table、table-cell都可以触发bfc。

    清除浮动: 

    就是让当前元素左右两边都不存在浮动元素的时候,才把元素放在标准流中显示。 清除浮动的四种方式:

    1、使用空标记清除浮动,隔墙放。增加标签。 在浮动标签的后边加一个<div class="clearboth"></div>,不设置宽高然后设置.clearboth{clear:both},然后再将需要的标签放到这个空标签后边即可 。

    2、使用overflow属性清除浮动。会误伤。 overflow:hidden;

    3、使用after伪对象清除浮动

    4、使用before after伪对象清除浮动 clearfix(2,3,4中方式的结合,常用)。

    .clearfix 父盒子要把子盒子包裹住,触发bfc同时清除前后浮动。

  • 相关阅读:
    集合的概述
    mysql修改用户名密码
    CentOS7 安装Chrome的方法
    常用sql汇总
    Rabbitmq六大应用模式
    高可用RabbitMQ集群搭建
    docker-compose
    Haystack
    幂等性问题剖析
    用redis构建分布式锁
  • 原文地址:https://www.cnblogs.com/manshufeier/p/9410739.html
Copyright © 2011-2022 走看看