盒子模型简介

发布于:2023-01-04 ⋅ 阅读:(200) ⋅ 点赞:(0)

首先我们先来了解一个概念

文档流

文档流(normal flow)
         网页是一个多层的结构,设置样式,也是一层一层的设置,最终我们看到的最上面的一层
         文档流是网页最底层
         我们创建的元素默认情况下,都在文档流中

         元素分为两种状态:在文档流中,脱离文档流

元素在文档流中的特点

块元素
           1:会独占一行
           2:块元素的宽度默认是父元素的100%
           3:块元素的高度默认是被内容撑开的
                内联元素(行内元素)
           1:不会独占一行
           2:宽度高度默认都是被内容撑开的,不能自己定义宽高
        行内块元素

 元素脱离文档流后的特点

             元素脱离文档流之后,就不再区分块元素,行内元素,行内块元素,
             也就是块元素不会独占一行,行内也可以设置宽高,三像素问题也没有

元素怎么脱离文档流

              浮动  绝对定位  flex 等等

盒子模型

用非常通俗的语言来说:把元素布局到页面,就像想买个桌子,放到家里,要知道桌子的大小,形状,然后才能放到家里 。         所以我们把所有的元素都想成盒子,矩形

我们来举一个生活中的例子来帮助理解

买一个冰箱   收到一个大的快递
     冰箱            内容区(content)
     纸箱子          边框(border)
     泡沫            内边距(padding)
    冰箱离你的距离     外边距(margin)

影响盒子大小的元素:内容区,边框,内边距 ,外边距不影响盒子的大小

内容区(content)  元素中所有的子元素和文本内容都在内容区中排列
        width   设置内容区的宽度
        height  设置内容区的高度


创建一个盒子

.box{
      /* 设置内容区宽高*/
      width: 200px;
      height: 200px;
      background-color: pink;
      /* 设置padding */
      padding: 30px;
      /* 设置边框 */
      border: 10px solid orange;
      /*设置外边距 */
      margin: 30px;
    }
    .box1{
      width: 100%;
      height: 100%;
      background-color: green;
    }

我们就得到了如下图的盒子