HTML5+CSS——浮动

浮动

视觉格式化模型,大体上将页面中盒子的排列分为三种方式:

  1. 常规流
  2. 浮动(兼容性最好,浮动很重要)
  3. 定位

应用场景

  1. 文字环绕
  2. 横向排列(如淘宝页面、百度等的横向排列)

浮动的基本特点

修改float属性值为:

  • left:左浮动,元素靠上靠左
  • right:右浮动,元素靠上靠右

浮动的优先级是:靠上、靠左、靠右

默认值为:none,不浮动,即是常规流

  1. 当一个元素浮动后,元素必定为块盒(更改display属性为block)

对比是否加float属性的不同之处

不加float属性:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span{
     
            border: 3px solid #ac8530;
        }
    </style>
</head>
<body>
    <span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium laborum dolorem, ratione deleniti consequuntur minus ad reprehenderit quos similique earum id. Similique facere sapiente voluptatibus incidunt alias laborum aspernatur eveniet?</span>
    <span>Lorem, ipsum dolor.</span>
</body>
</html>

运行结果检查:

在这里插入图片描述

无float属性时,span元素是行盒元素

加float属性时:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        span{
     
            border: 3px solid #ac8530;
            float: left;
            line-height: 2;
            margin: 5px;
        }
    </style>
</head>
<body>
    <span>Lorem ipsum dolor sit amet consectetur adipisicing elit. Praesentium laborum dolorem, ratione deleniti consequuntur minus ad reprehenderit quos similique earum id. Similique facere sapiente voluptatibus incidunt alias laborum aspernatur eveniet?</span>
    <span>Lorem, ipsum dolor.</span>
</body>
</html>

有float属性时,元素为行盒

运行结果及检查:
在这里插入图片描述

总结:浮动后元素必为块盒,更改display属性为block;行盒和块盒(在不考虑语义的情况下)浮动显示出来的效果是一样的

  1. 浮动元素的包含块,和常规流一样,为父元素的内容盒(content-box)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
     
            width: 500px;
            height: 500px;
            background: #008c8c;
            border: 30px solid #d18624bb;
        }

        .container div{
     
            width: 100px;
            height: 100px;
            background: seagreen;
        }

        .container .left{
     
            float: left;
        }

        .container .right{
     
            float: right;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left"></div>
        <div class="right"></div>
    </div>
</body>
</html>

运行结果:

在这里插入图片描述

浮动盒子尺寸

  1. 宽度为auto时,适应内容宽度,没有内容时,则为0
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
     
            width: 500px;
            height: 500px;
            background: springgreen;
            border: 25px solid #cf1140;
        }

        .container div{
     
            background: tan;
            width: auto;
            height: 100px;
        }

        .container .left{
     
            float: left;
        }

        .container .right{
     
            float: right;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left"></div>
        <div class="right">Lorem ipsum dolor sit.</div>
    </div>
</body>
</html>

运行结果:

在这里插入图片描述
2. 高度为auto时,与常规流一致,适应内容的高度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .container{
     
            width: 500px;
            height: 500px;
            background: springgreen;
            border: 25px solid #cf1140;
        }

        .container div{
     
            background: tan;
            width: auto;
            
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值