• CSS--盒子模型详解


    目录

    一、图解

          说明:由内而外依次是content、padding(内边距)、border(边框)、margin(外边距)。

          举个例子:一个快递车里放了许多快递包裹(盒子包装的),每个包裹里面又放了不同的东西。

          content:真正容纳其他东西的区域。比如快递车的content,就是那些包裹所处的那个空间;

                       而每个包裹的content,就是那些东西所处的空间。 

                        content里面可以放置 其他元素、文本、图片等

          border: 盒子的边框。比如快递车的那个铁皮,包裹外层的那个盒子。  

                        可以指定边框的颜色、粗细(width)、样式等。

          padding:content到border之间的距离。

          margin: 包裹和包裹之间的距离。这个距离可以是负的,因为可以相互叠加。

          注意事项:由于各个浏览器会对元素的margin、padding值进行不同值的初始化。

                        所以每次写样式时,需要对页面内涉及到的元素进行初始化      

    /* 将当前页面内涉及的元素表签列出来 */
    body,div,span{
        margin:0px;
        padding:0px;
    }

    二、盒模型尺寸基准

         默认情况下,设置一个元素的width、height,其实设置的就是content的宽度和高度。

         Q:那这个元素的实际宽度、实际高度是多少呢?

         A:实际宽度=左margin + 左border + 左padding + content + 右padding + 右border + 友margin ;实际高度同理。

         Q:那么问题来了,我如果想直接设置某个元素的实际高度怎么办呢?

         A:CSS3新增加了一个属性box-sizing就是用来解决这个问题。它有三个值:content-box、border-box、inherit。

              content-box:就是通常的默认情况,指的是content的高度、宽度。

              border-box :字面意思不难看出,指的就是border以内(包含border)的高度、宽度。

                     inherit:从父级元素继承box-sizing属性的值。

    三、使用浏览器的开发者工具,查看元素高(宽)度时,遇到的问题

          使用谷歌浏览器审查元素功能时,它会职能的提示出当前元素的高度、宽度。但经过计算元素的实际高度、宽度,发现与提示的信息不一致。      

    <style>
       div {
                width: 200px;
                padding: 20px;
                border: 1px solid red;
                margin: 10px;           
            }
    </style>
    
    <div>文本内容</div>

          通过计算得出,div的实际宽度= 10 + 1 + 20 + 200 + 20 + 1 + 10 = 262px;  

          而开发者工具展示出来的结果为242px,差了20px;

          

          通过调整不同参数,最后得出结论为: 审查元素计算出来的结果是不包括 margin值的。

             

  • 相关阅读:
    vue生命周期
    vue input 循环渲染问题
    Node express post 大小设置
    webpack 好文章
    知识点的总结
    jsplumb 使用总结
    理解es6 中 arrow function的this
    分块编码(Transfer-Encoding: chunked)
    CGI的工作原理
    JS数组循环的性能和效率分析(for、while、forEach、map、for of)
  • 原文地址:https://www.cnblogs.com/lanleiming/p/5310904.html
Copyright © 2020-2023  润新知