【发布时间】:2015-05-12 08:12:31
【问题描述】:
在决定 HTML 中元素的堆叠顺序时,z-index 和 opacity 有什么关系?
当我在具有一些z-index 的元素上保持opacity 小于1 时说999。该元素在没有z-index 的元素后面。
$(function() {
$("#checkbox1").on("change", function() {
$("#green-parent").toggleClass("add-opacity", this.checked);
});
});
.green,
.blue {
position: absolute;
width: 100px;
line-height: 100px;
text-align: center;
color: white;
}
.green {
z-index: 999999999;
top: 50px;
left: 50px;
background: green;
}
.blue {
top: 60px;
left: 90px;
background: blue;
}
.add-opacity {
opacity: 0.99;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<input id="checkbox1" type="checkbox" value="1">
<label for="checkbox1">Add opacity to green box parent</label>
<div id="green-parent">
<span class="green">Green</span>
</div>
<div>
<span class="blue">Blue</span>
</div>
【问题讨论】:
-
HTML 和 CSS 是两个完全不同的东西。不要把两者混为一谈。这个问题是关于 CSS 的,正如标签中正确说明的那样。
-
opacity小于 1 会创建新的堆叠上下文。见 MDN developer.mozilla.org/en-US/docs/Web/Guide/CSS/… -
我不太明白你的问题或问题?