CSS笔记(四)

1.文档流

'''

    文档流(normal flow)
        - 网页是一个多层的结构,一层摞着一层
        - 通过CSS可以分别为每一层来设置样式
        - 作为用户来讲只能看到最顶上一层
        - 这些层中,最底下的一层称为文档流,文档流是网页的基础
            我们所创建的元素默认都是在文档流中进行排列
        - 对于我们来元素主要有两个状态
            在文档流中
            不在文档流中(脱离文档流)

        - 元素在文档流中有什么特点:
            - 块元素
                - 块元素会在页面中独占一行(自上向下垂直排列)
                - 默认宽度是父元素的全部(会把父元素撑满)
                - 默认高度是被内容撑开(子元素)

            - 行内元素
                - 行内元素不会独占页面的一行,只占自身的大小
                - 行内元素在页面中左向右水平排列,如果一行之中不能容纳下所有的行内元素
                    则元素会换到第二行继续自左向右排列(书写习惯一致)
                - 行内元素的默认宽度和高度都是被内容撑开

'''

2.盒模型

'''

    .box1{
        /* 
            内容区(content),元素中的所有的子元素和文本内容都在内容区中排列  
                内容区的大小由width 和 height两个属性来设置
                    width 设置内容区的宽度
                    height 设置内容区的高度          
         */
        width: 200px;
        height: 200px;
        background-color: #bfa;

        /* 
            边框(border),边框属于盒子边缘,边框里边属于盒子内部,出了边框都是盒子的外部
                边框的大小会影响到整个盒子的大小
            要设置边框,需要至少设置三个样式:
                边框的宽度 border-width
                边框的颜色 border-color
                边框的样式 border-style
         */

         border-width: 10px;
         border-color: red;
         border-style: solid;
    }

'''

3.盒子模型_边框

<style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: #bfa;

            /* 
                边框
                    边框的宽度 border-width
                    边框的颜色 border-color
                    边框的样式 border-style
             */

             /* 
             border-width: 10px; 
                默认值,一般都是 3个像素
                border-width可以用来指定四个方向的边框的宽度
                    值的情况
                        四个值:上 右 下 左
                        三个值:上 左右 下
                        两个值:上下 左右
                        一个值:上下左右
                    
                除了border-width还有一组 border-xxx-width
                    xxx可以是 top right bottom left
                    用来单独指定某一个边的宽度

                    
             */
             /* border-width: 10px; */
             /* border-top-width: 10px;
             border-left-width: 30px; */

            color: red;


             /* 
                border-color用来指定边框的颜色,同样可以分别指定四个边的边框
                    规则和border-width一样

                border-color也可以省略不写,如果省略了则自动使用color的颜色值
              */
             /* border-color: orange red yellow green;
             border-color: orange; */


            /* 
                border-style 指定边框的样式
                    solid 表示实线
                    dotted 点状虚线
                    dashed 虚线
                    double 双线

                    border-style的默认值是none 表示没有边框

             */
             /* border-style: solid dotted dashed double;
             border-style: solid; */

             /* border-width: 10px;
             border-color: orange;
             border-style: solid; */

             /* 
                border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求

                除了border以外还有四个 border-xxx
                    border-top
                    border-right
                    border-bottom
                    border-left
              */
              /* border: solid 10px orange; */
              /* border-top: 10px solid red;
              border-left: 10px solid red;
              border-bottom: 10px solid red; */

              border: 10px red solid;
              border-right: none;
        }
    </style>

4.盒子模型_内边距

<style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: #bfa;
            border: 10px orange solid;

            /* 
                内边距(padding)
                    - 内容区和边框之间的距离是内边距
                    - 一共有四个方向的内边距:
                        padding-top
                        padding-right
                        padding-bottom
                        padding-left

                    - 内边距的设置会影响到盒子的大小
                    - 背景颜色会延伸到内边距上

                一共盒子的可见框的大小,由内容区 内边距 和 边框共同决定,
                    所以在计算盒子大小时,需要将这三个区域加到一起计算
             */

             /* padding-top: 100px;
             padding-left: 100px;
             padding-right: 100px;
             padding-bottom: 100px; */

             /* 
                padding 内边距的简写属性,可以同时指定四个方向的内边距
                    规则和border-width 一样
              */
              padding: 10px 20px 30px 40px;
              padding: 10px 20px 30px ;
              padding: 10px 20px ;
              padding: 10px ;
        }

        .inner{
            width: 100%;
            height: 100%;
            background-color: yellow;
        }
    </style>

5.盒子模型_外边距

<style>
        .box1{
            width: 200px;
            height: 200px;
            background-color: #bfa;
            border: 10px red solid;

            /* 
                外边距(margin)
                    - 外边距不会影响盒子可见框的大小
                    - 但是外边距会影响盒子的位置
                    - 一共有四个方向的外边距:
                        margin-top
                            - 上外边距,设置一个正值,元素会向下移动
                        margin-right
                            - 默认情况下设置margin-right不会产生任何效果
                        margin-bottom
                            - 下外边距,设置一个正值,其下边的元素会向下移动
                        margin-left
                            - 左外边距,设置一个正值,元素会向右移动

                        - margin也可以设置负值,如果是负值则元素会向相反的方向移动

                    - 元素在页面中是按照自左向右的顺序排列的,
                        所以默认情况下如果我们设置的左和上外边距则会移动元素自身
                        而设置下和右外边距会移动其他元素

                    - margin的简写属性
                        margin 可以同时设置四个方向的外边距 ,用法和padding一样

                    - margin会影响到盒子实际占用空间
             */

             /* margin-top: 100px;
             margin-left: 100px;
             margin-bottom: 100px; */

             /* margin-bottom: 100px; */
             /* margin-top: -100px; */
             /* margin-left: -100px; */
             /* margin-bottom: -100px; */

             /* margin-right: 0px; */

             margin: 100px;
        }

        .box2{
            width: 220px;
            height: 220px;
            background-color: yellow
        }
    </style>
    
    <body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>

猜你喜欢

转载自www.cnblogs.com/qq103013999/p/13172965.html
今日推荐