-
知识储备
- z-index 属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。该属性设置一个定位元素沿 z 轴的位置,z 轴定义为垂直延伸到显示区的轴。如果为正数,则离用户更近,为负数则表示离用户更远.Z-index 仅能在定位元素中生效。
- position的属性值应该设为fixed;
absolute 生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed 生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative 生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。 inherit 规定应该从父元素继承 position 属性的值。 - opacity:规定不透明度。从 0.0 (完全透明)到 1.0(完全不透明)
-
代码显示
HTML:
<div class="divfather">
<div class="div1" id="div_1">
</div>
<div class="div2">
</div>
</div>
CSS:
.div1{
width:40%;
height:500px;
margin-left:30%;
position:fixed;
opacity: 0.4;
background-color:darkgray;
margin-top: 50px;
z-index:-1;
}
.divfather{
width:100%;
height:2000px;
/* background-color:blanchedalmond;*/
}
.div2{
opacity:0.5;
z-index:5;
width:60%;
height:2000px;
margin-left:20%;
background-color: aqua;
}
-
解释:
之所以搞这个双层界面的显示是想用echarts做出一个时钟,半透明的停留在界面的中央。在另一层界面中仍然可以正常的显示和操作界面的内容,但是当echarts做出的时钟放到div1中的时候,发现出错这是div2 从div1 下边的位置开始显示。这个问题还没有解决,如果解决了后续与大家分享,哪位大佬有解决方案的话还请多多指出。
当div1中的Z-index中为负时div2 中的可以操作(例如如果div中有汉字的话可以复制粘贴),当div1中的Z-index中的值为正是div1中的不可操作。