zoukankan      html  css  js  c++  java
  • position 与z-index的爱恨情仇

    position: static

      static定位是HTML元素的默认值,即没有定位,元素出现在正常的流中

    position:fixed

      fixed定位是指元素的位置相对于浏览器窗口是固定位置,即使窗口是滚动的它也不会滚动,且fixed定位使元素的位置与文档流无关,因此不占据空间,且它会和其他元素发生重叠。

    position:relative定位

      相对定位元素的定位是相对它自己的正常位置的定位。移动后对于移动前:如果值为负数,则直接换成整数;如果值为整数,则直接改变相对方向。

    position:absolute

      绝对定位的元素相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>。

    重叠的元素--z-index属性

      首先声明:z-index只能在position属性值为relative或absolute或fixed的元素上有效。

    z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。这个的前提是元素得有堆叠,堆叠即位置的覆盖,否则没有意义,这就有了最开始的声明;这个声明是z-index属性存在的前提。

    例一    未设置任何堆叠效果,position属性,这就是按照标签顺序正常显示的效果

     例二  通过position,left,top设置使子元素产生堆叠

    例三  在例二的基础上设置z-index 使本在下面的son1 出现在上方  即值大的元素发生重叠时会在值小的元素上面

     例四  父元素z-indedx均大于子元素,结果没有变!!!!! 是否 说明父元素和子元素不能做z-index的比较

    例五  当父元素无z-index属性,子元素该属性为负时,出现父元素显示在最上面的效果,

    说明在父元素和子元素之间还是可以作比较的!!!只是需要我们把子元素的z-index值设为负数且不设置父元素的z-index属性。

    父元素之间呢?

     例六 实现堆叠

     例七 改变parent1的z-index设为20,原本在下面的粉色块出现在上面,这就是明显的拼爹啊,

     

     例八  有没有可能将两个子元素显示到同一层,即彼此的的父元素不遮挡另一个子元素?

     

     根据例五,有没有可能将两个子元素都隐藏呢?

    参考博客:https://i.cnblogs.com/EditPosts.aspx?opt=1

  • 相关阅读:
    《三体》推荐
    低调做人,高调做事
    注意力的培养是学校教学的真正目的
    【RTP.NET入门系列 一】接收第一个RTP包。
    MapX开发日记(三)GPS项目终于有了眉头
    【RTP.NET入门系列 二】接收第一个RTP帧。
    10.04 flash 乱码 问题
    10.04 中文输入发问题。
    通过值类型进行Timer类的线程的同步。
    关于ManualResetEvent信号机制。
  • 原文地址:https://www.cnblogs.com/html-css-js/p/7586481.html
Copyright © 2011-2022 走看看