CSS盒子模型最详解

2020-11-03 14:37:31 浏览数 (1)

1:什么是盒子模型?

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

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

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

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

代码

代码语言:javascript复制
<!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 什么是元素? 边框 内边距 内容宽度/内容高度 。 什么是元素的空间? 外边距 边框 内边距 内容宽度/内容高度

做个练习把.

代码语言:javascript复制
<!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>

效果

第一个:

第二个:

第三个

第四个:

第五个·:

0 人点赞