(1)盒子模型布局的稳定性

大部分情况下内边距和外边距是可以混用的,但是,根据稳定性来分,建议如下:
wide>padding>margin
优先使用 宽度(width) 其次使用内边距(padding) 再次使用 外边距(margin)。
原因:

  • margin会有外边距合并和id6以下版本的加倍bug,所以最后使用。
  • padding会影响盒子大小,需要进行加减计算(麻烦) 其次使用。
  • width 没有问题,经常使用宽度剩余法。

宽度剩余法:
多个盒子固定宽度,文字左对齐。

(2)CSS3盒模型(box-sizing)

  • content-box;盒子大小为:width+padding+border。Content-box为默认值。
  • border-box;盒子大小为width。Padding和border是包含到width里面的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> div:first-child {
            width: 200px;
            height: 200px;
            background-color: pink;
            box-sizing: content-box;/*以前标准的盒模型*/
            padding: 10px;/*这里会撑开盒子。*/
            border: 15px solid red;
        }

        div:last-child {
            width: 200px;
            height: 200px;
            background-color: purple;
            box-sizing: border-box;/*CSS3新的*/
            padding: 10px;/*这里不会撑开盒子。*/
            border:15px solid skyblue;

        }
    </style>
</head>

<body>
    <div>
        content-box
    </div>
    <div>
        border-box
    </div>
</body>

</html>

(3)盒子阴影

语法格式:Box-shadow:水平阴影 垂直阴影 模糊距离 阴影尺寸 阴影颜色 内/外阴影;

  1. 前两个属性是必须写的。其余的可以省略。
  2. 默认是外阴影(outset),不要写, 想要内阴影可以inset。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> h1 {
            font-size: 100px;
            /* text-shadow: 水平距离 垂直距离 模糊 阴影颜色; */
            text-shadow: 10px 3px 3px rgba(0, 0, 0, .5);
        }

        div {
            width: 200px;
            height: 200px;
            border: 10px solid red;
            /* box-shadow: 水平阴影 垂直阴影 模糊距离 阴影尺寸(影子大小) 阴影颜色 内/外阴影(默认为外); */
            box-shadow: 5px 5px 3px 4px rgba(0, 0, 0, .4);
        }
    </style>
</head>

<body>
    <h1>杨花落尽子规啼</h1>
    <div></div>
</body>

</html>

(4)盒子阴影小案例:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> div {
            width: 500px;
            height: 500px;
            line-height: 500px;
            /*行高等于盒子高度,自动居中*/
            background-color: pink;
            margin: 100px;
            background: url(qq头像.jpg) 0 0 no-repeat;
            font-size: 30px;
            text-align: center;
            color: rgb(255, 255, 255, .8);
            /*颜色半透明*/
            border-radius: 50%;
            /*圆角*/
            box-shadow: 130px 5px 50px 5px rgba(255, 255, 255, .5) inset,
                5px 4px 10px rgba(0, 0, 0, .3);
            ;

        }
    </style>
</head>

<body>
    <div>qq头像</div>
</body>

</html>