zoukankan      html  css  js  c++  java
  • 分析浮动及清除浮动影响

    1、浮动定义(float设置)

    浮动,顾名思义,就是使文本内容起来和起来,浮指的是:脱离文档流,动指的是:向设置的方向移动。

    脱离文档流将会导致文档内容高度等不会被常规计算,会造成常见的文本覆盖、高度塌陷等问题影响布局效果,例如:

    2、清除浮动

    常规的有以下几种:
    1、设置clear:both:不允许两边有浮动现象,在浮动元素后的非浮动元素中设置,clear的值有:none|both|left|right;
    2、overflow:hidden:应用BFC原理,将盒子变为独立的块级上下文,在这个独立的块级上下文中会计算浮动元素的高度,可用于解决高度塌陷的问题;
    3、应用::after,::before等伪元素:在选中的盒子内创建虚假的节点,在设置clear:both等属性,清除浮动
    示例代码:

    <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>test2</title>
    </head>
    
    <body>
        <div class="main">
            <div class="box box1">box1</div>
            <div class="box box2">box2</div>
        </div>
        <div class="box box3">box3</div>
    
        <style>
            .main {
                /* overflow: hidden; */
                border: 1px solid red;
            }
            
            .box {
                 600px;
                height: 100px;
                text-align: center;
                line-height: 100px;
            }
            
            .box1 {
                background-color: aqua;
                float: left;
            }
            
            .box2 {
                background-color: aquamarine;
                float: left;
            }
            
            .main::after,
            .main::before {
                display: block;
                content: '';
                clear: both;
            }
            
            .box3 {
                background-color: beige;
                /* clear: both; */
            }
        </style>
    </body>
    
    </html>
    

    3、BFC(网上资料)

    定义:BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器。
    形成条件:

    1. 浮动元素,float 除 none 以外的值;
    2. 定位元素,position(absolute,fixed;
    3. display 为以下其中之一的值 inline-block,table-cell,table-caption;
    4. overflow 除了 visible 以外的值(hidden,auto,scroll;

    特点:

    1. 内部的Box会在垂直方向上一个接一个的放置。
    2. 垂直方向上的距离由margin决定
    3. bfc的区域不会与float的元素区域重叠。
    4. 计算bfc的高度时,浮动元素也参与计算
    5. bfc就是页面上的一个独立容器,容器里面的子元素不会影响外面元素。
  • 相关阅读:
    实操记录之-----Ant Design of Vue 增强版动态合并单元格,自动根据数据进行合并,可自定义横纵向合并
    实操好用~~~~~antd 中 Table表格动态合并~~~
    超级容易理解的函数节流(throttle)
    Flask框架
    Celery框架
    redis数据库如何用Django框架缓存数据
    luffyapi项目 --短信认证的基本操作
    DRF之Jwt 实现自定义和DRF小组件及django-filter插件的使用
    Auth主件的(RBAC) 六表
    DRF之三大认证
  • 原文地址:https://www.cnblogs.com/Zxq-zn/p/12238336.html
Copyright © 2011-2022 走看看