HTML CSS

CSS入门八之盒子属性

2020-12-14  本文已影响0人  码农修行之路
盒子的组成:内容、内填充、边框、外边距
  1. 内容 无非是盒子里面放置的东西 有宽高属性
  2. 内填充 无非是盒子内容和盒子本身的间距
  3. 边框 无非是盒子外面包裹的一层东西
  4. 外边距 无非是盒子距窗口的间距

从上面解释来说:其属性有width、height、padding、margin、border

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>盒子属性</title>
    <style type="text/css">
        * {
            /*去除默认样式 属性*/
            margin: 0;
            padding: 0;
        }
        .box {
            width: 100px;/*盒子内容的宽度*/
            height: 100px;/*盒子内容的高度*/
            padding: 10px;/*盒子内容到盒子边框的距离*/
            margin: 20px;/*盒子距离父元素的间距*/
            border: 2px solid #000;/*盒子外边框*/
        }
        .box_padding {
            width: 100px;
            height: 100px;
            
            /* 分别设置盒子的内边距 上、右、下、左*/
            /*padding-top: 10px;
            padding-right: 20px;
            padding-bottom: 30px;
            padding-left: 40px;*/

            /* 内边距可以从网页中 检查中查看 */
            /* 简写 四个属性值 分别是 上10px 右20px 下30px 左40px */
            /* padding: 10px 20px 30px 40px; */

            /* 简写 三个属性值 分别是 上10px 左右20px 下40px */
            /* padding: 10px 20px 30px; */

            /* 简写 两个属性值 分别是 上下10px 左右20px*/
            /* padding: 10px 20px; */

            /* 简写 一个属性值 代表上下左右都是10px */
            /* padding: 10px; */

            /* padding 属性是有方向的 可以同时表示四个方向 顺序是:顺时针(上右下左) */

            /* 同样的外边距 和 内边距的属性值的方向和简写的描述一样 */

            /* 分别设置盒子的外边距 上、右、下、左*/
            /* margin-top: 10px;
               margin-right: 20px;
               margin-bottom: 30px;
               margin-left: 40px; */

            /* 简写 一个属性值 代表上下左右外边距都是10px */
            /* margin: 10px; */

            /* 简写 两个属性值 分别是 上下外边距10px 左右外边距20px*/
            /* margin: 10px 20px; */

            /* 简写 三个属性值 分别是 上外边距10px 左右外边距20px 下外边距40px */
            /* margin: 10px 20px 30px; */

            /* 简写 四个属性值 分别是 上外边距10px 右外边距20px 下外边距30px 左外边距40px */
            /* margin: 10px 20px 30px 40px; */

            border: 1px solid #f00;
        }

        /* margin 属性塌陷现象 */
        /* 竖直方向塌陷现象 */
        /*.box_margin1 {
            width: 100px;
            height: 100px;
            background-color: #f00;
            margin-bottom: 20px;
        }
        .box_margin2 {
            width: 100px;
            height: 100px;
            background-color: #0f0;
            margin-top: 40px;
        }*/

        /* 横向margin值是叠加的 没有塌陷现象 */
        .box_margin1 {
            width: 100px;
            height: 100px;
            background-color: #f00;
            margin-right: 20px;
            float: left;
        }
        .box_margin2 {
            width: 100px;
            height: 100px;
            background-color: #0f0;
            margin-left: 40px;
            float: left;
        }
        /* 上面两个盒子竖直方向的margin值并没有叠加 反而是margin-top: 40px; 生效 由此可以得出以下结论
           1. 在标准文档流中 竖直方向 的margin值是不会叠加的 它会取较大的值

           2. 横向方向是没有塌陷现象

           3. 根据上一条 可以推断出 float元素是没有margin塌陷现象的
        */

        /* margin居中 */
        .box_margin3 {
            width: 100px;
            height: 100px;
            background-color: #0f0;
            /*margin: auto auto;*/
            /*margin: 0px auto;*/
            margin-right: auto;
            margin-left: auto;
            /* float:left; */
        }
        /* 1. 设置居中时 盒子一定要有固定的宽度 否则占据父元素的100%宽度 */
        /* 2. 行内元素没有宽高属性 要想实现水平居中 可以外面包裹个块元素 或者 转换成块元素 */
        /* 3. 浮动元素不能水平居中 */
        /* 4. margin 只能实现盒子的水平居中 而文本的水平居中时使用 text-align:center; */
        /* 5. 一般使用父元素的padding 而不是使用子元素的margin */
    </style>
</head>
<body>

    <div class="box">盒子</div>
    <!-- 1. 盒子的总宽度为 内容宽度 + 左右内边距 + 左右边框宽度 -->
    <!-- 2. 盒子的中高度为 内容高度 + 上下内边距 + 上下边框宽度 -->
    <!-- 注意:盒子的高度一般不设置 是由盒子内容决定的 -->

    <div class="box_padding">padding属性</div>

    <div class="box_margin1">margin属性一</div>
    <div class="box_margin2">margin属性二</div>

    <div class="box_margin3">margin属性三</div>

</body>
</html>
padding
  1. padding-top、right、bottom、left ,padding 属性是有方向的 可以同时表示四个方向 顺序是:顺时针(上右下左)
  2. 内边距可以从网页中 检查中查看 简写形式四种 以上述代码为例:
    简写 一个属性值 代表上下左右都是10px -> padding: 10px;
    简写 两个属性值 分别是 上下10px 左右20px ->padding: 10px 20px;
    简写 三个属性值 分别是 上10px 左右20px 下40px -> padding: 10px 20px 30px;
    简写 四个属性值 分别是 上10px 右20px 下30px 左40px -> padding: 10px 20px 30px 40px;
margin
  1. margin-top、right、bottom、left ,margin 属性是有方向的 可以同时表示四个方向 顺序是:顺时针(上右下左)
  2. 外边距同样可以从网页检查中看出 图形看出来 以上述代码为例:
    简写 一个属性值 代表上下左右外边距都是10px -> margin: 10px;
    简写 两个属性值 分别是 上下外边距10px 左右外边距20px ->margin: 10px 20px;
    简写 三个属性值 分别是 上外边距10px 左右外边距20px 下外边距40px -> margin: 10px 20px 30px;
    简写 四个属性值 分别是 上外边距10px 右外边距20px 下外边距30px 左外边距40px -> margin: 10px 20px 30px 40px;
上一篇 下一篇

猜你喜欢

热点阅读