美文网首页
CSS定位流

CSS定位流

作者: 幸运密码_xymm16888 | 来源:发表于2017-09-29 16:47 被阅读0次

    定位流分类:
    一、相对定位:{position: relative;}
    相对自己在以前标准流中的位置上右下左移动。要配合 (垂直方向top/bottom) / (水平方向left/right) 任何一组或二组使用才有效果。
    /* 相对之前的位置上右下左移动 */
    .box2 {background-color: blue; position: relative; top: 10px; left: 40px;}
    注意:
    -相对定位不脱离标准流,会继续在标准流中占用一份空间,
    所以不利于布书界面。当给相对定位设置 margin/padding属性时,是对于定位之前的元素的margin/padding的设置,不是定位之后的。
    -垂直方向top/bottom 只能写一个
    -水平方向left/right 只能写一个
    -由于相对定位是不脱离标准流的,所以相对定位区分 块级元素、行内元素和行内块级元素(不可设置宽高)。

    • 应用场景:对元素进行微调,配合绝对定位来使用

    二、绝对定位:{position: absolute;}

    • 绝对定位是相对于 body 来进行定位的,定位到 body 的上下左右四个地方
      .box02 {background-color: yellow; position: absolute; bottom: 0; right: 0;} /* 定位到 body 的右下角*/

    • 绝对定位的元素是脱离标准流的

    • 绝对定位不区分 块级元素、行内元素和行内块级元素(可设置宽高)。

    • 绝对定位的参考点:
      1、默认情况下,无论有没有祖先元素,所有绝对定位的元素都 会以 body 作为参考点。
      2、如果一个元素有祖先元素A - B - aaabbbccc,
      A是定位流B不是,子孙元素始终在A内部,A到哪它们到哪
      A不是B是定位流,子孙元素始终在B内部,B到哪它们到哪
      后面的子孙元素会以祖先元素的定位流作为参考点。
      A和B都 是定位流,子孙元素以离他们最近的B定位流作为参考点进行定位。

    • 绝对定位的注意点
      1、如果一个绝对定位元素以 body 作为参考点,其实是以网页的首屏作为参考点,不是以整个网页的宽度和高度作为参考点。
      2、绝对定位流的元素会忽略祖先元素的padding属性。

    • 子绝父相:子元素用绝对定位,父亲元素用相对定位
      /* 找到ul中的第4 个li /
      ul li:nth-of-type(4) {background-color: orange; position: relative;} /
      父相对 /
      ul li img {position: absolute; left: 39px; top: -8px;} /
      子绝对,数字是通过开发者模式调整出来的 */

    • 绝对定位元素img的水平居中方式:
      img {position: absolute; left: 50%; margin-left: -(负号)图片宽度的一半px;}

    三、固定定位:position:fixed
    固定定位是脱离标准流的,是不占用标准流的空间的。
    固定定位和绝对定位一样,不区分行内、块级、行内块级元素。
    固定定位和前面的关联方式很像
    背景定位可以让背景图片不随着滚动条而滚动
    而固定定位可以让某个盒子不随着滚动条的滚动而滚动

    四、静态定位

    z-index属性:默认情况下所有的元素都 有一个默认的z-index属性,取值是0
    z-index属性的作用是专门用来控制定位流元素的覆盖关系的
    1、默认情况下,定位流的元素会盖住标准流的元素。
    2、默认情况下,后面的定位流会盖住前面的定位流元素。如果想要前面定位流的元素不被后面定位流的元素盖住,可以把前面定位流的元素的 z-index 改大于前面的元素就行了,如 z-index:1 ;
    3、从父现象:

    • 如果两个子元素的父元素都没有设置 z-index,那么谁的 z-index 大,谁就显示在最上面
    • 如果两个元素的父亲元素都设置了 z-index,那么子元素的 z-index 就会失效,谁的父元素的 z-index 大,认就显示在最上面。

    相关文章

      网友评论

          本文标题:CSS定位流

          本文链接:https://www.haomeiwen.com/subject/ufvmextx.html