CSS----4

目录

浮动

1.标准文档流

2.display

3.float

4.父级边框塌陷问题

5.对比

定位

1.相对定位

2.绝对定位

3.固定定位fixed

4.z-index

CSS总结


浮动

1.标准文档流

块级元素:独占一行

h1~h6    p     div        列表...   

行内元素:不独占一行

span    a    img      strong

行内元素可以包在块级元素中,反之不可以

2.display

  div{
      width: 100px;
      height: 100px;
      border:1px solid #C850C0;
      display: inline-block;
    }
    /*
    block  块元素
    inline  行内元素
    inline-block  是块元素,但可以内联在一行;
    none  让标签消失
    */
    span{
      width: 100px;
      height: 100px;
      border: 1px solid red;
      display: inline-block;
    }

这也是实现行内元素排列的方式,但一般用float

3.float

左右浮动

div{
    margin: 10px;
    padding: 5px;
}
#father{
    border: 1px #000000 solid;

}
.n01{
    border: 1px #C850C0 dashed;
    display: inline-block;
    float: left;
}
.n02{
    border: 1px #5c3737 dashed;
    display: inline-block;
    float: left;
}
.n03{
    border: 1px #FFCC70 dashed;
    display: inline-block;
    float: right;
}
.n04{
    border: 1px #4158D0 dashed;
    font-size: 15px;
    line-height: 23px;
    display: inline-block;
    float: right;
}

4.父级边框塌陷问题

clear

解决方案:

1.增加父级元素高度。

#father{
    border: 1px #000000 solid;
    height: 500px;
}

2.增加一个空div标签,清除浮动。

.clear{
    clear: both;
    margin: 0;
    padding: 0;
}

3.overflow

在父级元素中增加   overflow: hidden;

4.在父类加一个伪类:after

#father:after{
    content: '';
    display: block;
    clear: both;
}

小结:

  1. 浮动元素后面增加空div,简单,但代码中尽量避免空div。
  2. 设置父级元素的高度,简单,元素假设有了固定的高度,就会被限制。
  3. overflow      简单,下拉场景避免使用。
  4. 父类添加一个伪类:after      写法稍微复杂,但没有副作用,推荐使用。

5.对比

  • display 方向不可控

        方向不可控

  • float

        浮动起来会脱离标准文档流,所以要解决父级边框塌陷问题。

定位

默认情况:

 

1.相对定位

 <style>
    body{
      padding: 20px;

    }
    div{
      margin: 10px;
      padding: 5px;
      font-size: 15px;
      line-height: 25px;
    }
    #father{
      border: 1px #11ecd2 solid;
      padding: 0;
    }
    #first{
      background: aquamarine;
      border: 1px dashed #C850C0 ;
      position: relative;/*相对定位  上下左右*/
      top: -10px;/*距离上边多少*/
      left: 20px;/*距离左边多少*/
    }
    #second{
      background: cornsilk;
      border: 1px #d41212 dashed;
      position: relative;/*相对定位  上下左右*/
      bottom: -10px;
      right: 20px;
    }
    #third{
      background: rgba(127, 255, 212, 0.58);
      border: 1px #42b448 dashed;
    }

相对定位:position: relative;

相对于原来的位置,进行指定的偏移,相对定位的话,它仍然在标准文档流中。

top: -10px;/*距离上边多少*/
left: 20px;/*距离左边多少*/
bottom: -10px;/*距离下边多少*/
right: 20px;/*距离右边多少*/

2.绝对定位

基于xxx定位,上下左右。

1.没有父级元素定位的前提下,相对于浏览器定位。

2..假设父级元素存在定位,我们通常情况下会相对于父级元素进行偏移。

3.在父级元素范围内移动

    相对于父级或浏览器的位置,进行指定的偏移,绝对定位的话,它不在标准文档流中,原来的位置不会被保留。

 <style>
    body{
      padding: 20px;

    }
    div{
      margin: 10px;
      padding: 5px;
      font-size: 15px;
      line-height: 25px;
    }
    #father{
      border: 1px #11ecd2 solid;
      padding: 0;
        position: relative;
    }
    #first{
      background: aquamarine;
      border: 1px dashed #C850C0 ;

    }
    #second{
      background: cornsilk;
      border: 1px #d41212 dashed;
        position: absolute;
        right: 200px;
    }
    #third{
      background: rgba(127, 255, 212, 0.58);
      border: 1px #42b448 dashed;
    }
  </style>

3.固定定位fixed

 <style>
    body{
      height: 1000px;
    }

    div:nth-of-type(1){
      width: 100px;
      height: 100px;
      background: #d41212;
      position: absolute;/*绝对定位   相对于浏览器位置*/
      right: 0;
      bottom: 0;
    }
    div:nth-of-type(2){
      height: 50px;
      width: 50px;
      background: #119aec;
      position: fixed;/*固定定位  死位置*/
      right: 0;
      bottom: 0;
    }

  </style>

4.z-index

图层........

 z-index:默认是0,最高无限制

opacity: 0.5;/*背景透明度*/
 #conter{
      width: 200px;
      padding: 0;
      margin: 0;
      overflow: hidden;
      font-size: 12px;
      line-height: 25px;
      border: 1px #000000 solid;
    }
    ul,li{
      padding: 0;
      margin: 0;
      list-style: none;
    }
    /*父级元素相对定位*/
    #conter ul{
      position: relative;
    }
    .tipText,.tipBg{
      position: absolute;
      width: 200px;
      height: 25px;
      top:140px
    }
    .tipText{
      color: black;
      z-index: 999;
    }
    .tipBg{
      background: #11ecd2;
      opacity: 0.5;/*背景透明度*/
   
    }

CSS总结

posted @ 2022-05-12 22:37  Fiercezm  阅读(19)  评论(0编辑  收藏  举报  来源