• float浮动


    B站尚硅谷css视频教程笔记

    网页中的文档流:

      文档流处在网页的最底层, 它表示的是一个 页面中的位置.
      我们在页面中创建的元素默认都是处在文档流中.

    元素在文档流中的特点:

      * 块元素:

        1. 块元素在文档流中独占一行, 所有块元素自上向下排列.
        2. 块元素在文档流中的默认宽度(整个盒模型的宽度)为父元素宽度(width)的100%.
        3. 块元素在文档流中的高度默认被内容撑开.

      * 内联元素:

        1. 内联元素在文档流中只占自身的大小(内容+左右内外边距), 会默认从左向右排列; 如果一行中不足以容纳所有的内联元素,则换到下一行, 继续自左向右.
        2. 内联元素好像有默认的一点点的外边距?
        3. 在文档流中,内联元素的宽度和高度默认都被内容撑开.

    块元素在文档流中默认垂直排列, 如果想要块元素在页面中水平排列,可以使块元素脱离文档流, 可以使用float浮动来脱离文档流.

    float: none / left / right;

    1. 当一个元素设置为浮动后, 脱离了文档流,  它下面的元素会跑上来.
    2. 元素浮动后, 会尽量向页面或父元素的左上或是右上漂浮, 直到遇到父元素的边框或者其他浮动元素.
    3. 如果一行中容不下所有的浮动元素, 那么会自动换行.
    4. 如果浮动元素上边是一个没有浮动的块元素, 则浮动元素不会超过块元素.

    <!DOCTYPE html>
    <html lang="en">
    <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>Document</title>
        <style>
            #div1{
                width: 200px;
                height: 200px;
                border: solid 1px red;
            }
            #div2{
                width: 200px;
                height: 200px;
                border: solid 1px green;
                float: right;
            }
        </style>
    </head>
    <body>
        <div id="div1"></div>
        <div id="div2"></div>
    </body>
    </html>
    View Code

    5. 浮动元素不会超过他上边的兄弟浮动元素(前一个浮动元素), 最多最多一边齐.

    <!DOCTYPE html>
    <html lang="en">
    <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>Document</title>
        <style>
            #div1{
                width: 500px;
                height: 100px;
                border: solid 1px green;
                float: left;
            }
            #div2{
                width: 500px;
                height: 200px;
                border: solid 1px red;
                float: left;
            }
            #div3{
                width: 100px;
                height: 100px;
                float: right;
                border: solid 1px yellow;
            }
        </style>
    </head>
    <body>
        <div id="div1"></div>
        <div id="div2"></div>
        <div id="div3"></div>
    </body>
    </html>
    View Code

    6. 元素设置浮动后就完全脱离了文档流, 会覆盖块元素, 但是不会覆盖文字.所有可以通过设置浮动来实现文字环绕.

    <!DOCTYPE html>
    <html lang="en">
    <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>Document</title>
        <style>
            #div1{
                width: 500px;
                height: 400px;
                background-color: green;
                border: solid 1px green;
            }
            #div2{
                width: 200px;
                height: 200px;
                background-color: red;
                border: solid 1px red;
                float: left;
            }
        </style>
    </head>
    <body>
        <div id="div2"></div>
        <div id="div1">
                四色定理(世界近代三大数学难题之一),又称四色猜想、四色问题,是世界三大数学猜想之一。
                四色定理的本质正是二维平面的固有属性,即平面内不可出现交叉而没有公共点的两条直线。
                很多人证明了二维平面内无法构造五个或五个以上两两相连区域,但却没有将其上升到逻辑关系和二维固有属性的层面,
                以致出现了很多伪反例。不过这些恰恰是对图论严密性的考证和发展推动。计算机证明虽然做了百亿次判断,
                终究只是在庞大的数量优势上取得成功,这并不符合数学严密的逻辑体系,至今仍有无数数学爱好者投身其中研究。
        </div>
    </body>
    </html>
    View Code

    7. 在文档流中, 块元素的宽度默认占父元素的全部, 而块元素脱离文档流后, 宽度和高度都由内容撑开.

    <!DOCTYPE html>
    <html lang="en">
    <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>Document</title>
        <style>
            .div{
                width: 200px;
                height: 50px;
                border: solid 2px red;
            }
            .div #div1{
                background-color: goldenrod;
            }
            .div #div2{
                float: left;
                background-color: goldenrod;
            }
        </style>
    </head>
    <body>
        <div class="div">
            <div id="div1">
                abc
            </div>
        </div>
        <div class="div">
            <div id="div2">
                abc
            </div>
        </div>
    </body>
    </html>
    View Code

    8. 内联元素脱离文档流后会变成块元素.

      * 可以设置宽高
      ...

    <!DOCTYPE html>
    <html lang="en">
    <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>Document</title>
        <style>
            span{
                /*  200px;
                height: 50px; */
                border: solid 2px red;
                float: left;
            }
            /* div{
                border: solid 2px red;
            } */
        </style>
    </head>
    <body>
        <!-- <div>星星</div> -->
        <span>星星</span>
        <span>星星</span>
        <span>星星</span>
        <span>星星</span>
    </body>
    </html>
    View Code

    =========================================================================================

    当元素的宽度值为auto时, 指定内边距不会影响可见框的大小, 而是会自动修改宽度,以适应内边距.

  • 相关阅读:
    (三)Java学习-简单了解JMS与ActiveMQ
    (二)Java并发包-线程池
    (一)Java多线程学习
    zookeeper学习-4数据节点与zkCli客户端命令
    zookeeper学习-3集群环境搭建
    zookeeper学习-1初步了解
    201871010101-陈来弟 实验四 团队作业1:软件研发团队组建
    201871010101-陈来弟《软件工程课程》实验三 软件工程结对项目
    201871010101-陈来弟 实验二 个人项目——《西北师范大学学生疫情上报系统》项目报告
    201871010101-陈来弟《软件工程课程》实验一 软件工程准备
  • 原文地址:https://www.cnblogs.com/NeverYa/p/11390875.html
Copyright © 2020-2023  润新知