CSS盒子模型最详解

1:什么是盒子模型?

最重要的一点就是水平方向外边距是会叠加的哈

内容+内边距+边框+外边距==盒子模型;

注意一下:外边距是没有背景颜色的哈.设置不了的哈.

举例子:
结论
1.在HTML中所有的标签都可以设置
宽度/高度 == 指定可以存放内容的区域
内边距 == 填充物
边框 == 手机盒子自己
外边距 == 盒子和盒子之间的间隙

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type="text/css">
        *{
    
    padding: 0px;margin: 0px;}
        span,a,b,strong
        {
    
    
            display:inline-block;
            width: 100px;
            height: 100px;
            border: 6px solid #000;
            padding: 20px;
            margin:20px;
        }
    </style>
</head>
<body>
<span>我是span</span>
<a href="#">我是超链接</a>
<b>我是加粗</b>
<strong>我是强调</strong>
</body>
</html>

效果:
在这里插入图片描述

2:盒子模型宽度和高度(重要)

1.内容的宽度和高度
就是通过width/height属性设置的宽度和高度
2.元素的宽度和高度
宽度 = 左边框 + 左内边距 + width + 右内边距 + 右边框
高度 同理可证
3.元素空间的宽度和高度
宽度 = 左外边距 + 左边框 + 左内边距 + width + 右内边距 + 右边框 + 右外边距
高度 同理可证

什么是内容?
width+height
什么是元素?
边框 + 内边距 + 内容宽度/内容高度 。
什么是元素的空间?
外边距+边框+内边距+内容宽度/内容高度

做个练习把.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style type="text/css">
        *{
    
    padding: 0px;margin: 0px;}
        /*判断是否是内容宽高为100的盒子*/
        .box1{
    
    
            width: 100px;
            height: 100px;
            background-color: yellow;
        }
        /*判断是否是元素宽高为200的盒子*/
        .box2{
    
    
            /*25+25+150 = 200*/
            width: 150px;
            height: 150px;
            border: 25px solid #000;
        }
        .box3{
    
    
            width: 150px;
            height: 150px;
            padding:20px;
            border: 5px solid #000;
            background-color: blue;
        }
          /*判断是否是元素空间宽高为300的盒子*/
           .box4{
    
    
            /*
            50+50+25+25+25+25+100
            100 +50 +50 + 100
            300
            */
            width: 100px;
            height: 100px;
            padding: 25px;
            border: 25px solid #000;
            margin: 50px;
        }
         /*现有如下盒子模型, 要求增加padding属性为25之后仍然保持元素宽高为200

        元素宽高 = 边框 + 内边距 + 内容宽高
                 = 0 + 0 + 200 = 200
                 = 0 + 25 + 25 + 200 = 250
                 = 0 + 25 + 25 + 150 = 200
         规律:
         1.增加了padding之后元素的宽高也会发生变化
         2.如果增加了padding之后还想保持元素的宽高, 那么就必须减去内容的宽高
        */
       .box5{
    
    
            width: 150px;
            height: 150px;
            padding: 25px;
            background-color: red;
        }
         /*现有如下盒子模型, 要求增加border属性为20之后仍然保持元素宽高为200
        元素宽高 = 边框 + 内边距 + 内容宽高
                 = 0 + 0 + 200 = 200
                 = 0 + 20 + 20 + 200 = 240
                 = 0 + 20 + 20 + 160 = 200
          规律:
         1.增加了border之后元素的宽高也会发生变化
         2.如果增加了border之后还想保持元素的宽高, 那么就必须减去内容的宽高
        */
       

        .box6{
    
    
            width: 160px;
            height: 160px;
            border: 20px solid #000;
            background-color: deepskyblue;
        }



    </style>
</head>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<hr>
<div class="box4">box4</div>
<div class="box5">box5</div>
<div class="box6">box6</div>

</body>
</html>

效果

第一个:
在这里插入图片描述

第二个:
在这里插入图片描述
第三个
在这里插入图片描述

第四个:
在这里插入图片描述

第五个·:
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_37805832/article/details/109396594