>  기사  >  웹 프론트엔드  >  z-index为什么.box1 .inner不在.box2之上?_html/css_WEB-ITnose

z-index为什么.box1 .inner不在.box2之上?_html/css_WEB-ITnose

WBOY
WBOY원래의
2016-06-24 12:11:14978검색

z-index为什么.box1 .inner不在.box2之上?
有没有关于z-index详细讲解的文章,包括测试代码的。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>page title</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head><body>	<style type="text/css">		.box1,.box2,.box3,.inner{width:200px;height:200px;}		.box1{background-color:red;position:relative;z-index:1;}		.box2{background-color:green;position:relative;z-index:1;top:-30px;left:50px;}		.box3{background-color:tan;}		.inner{background-color:#3A80F3;position:absolute; left:20px;top:20px;z-index:1000;}	</style>	<div class="box1">		box1 z-index:1;		<div class="inner">box1 inner z-index:1000</div>	</div>	<div class="box2">box2 z-index:1</div>	<div class="box3"></div></body></html>


回复讨论(解决方案)

.inner 这个样式里的 position:absolute 没有起作用,改为 position:absolute !important;

.box1{background-color:red;position:relative; z-index:2;}

因为你的box1在box2之下 而且你的inner在box1里面的 所以box1的所有东西肯定在box2下面了,只有让box1  z-index大与box2了  或者把inner脱离出来 否者 哎 悲催了

不同stacking context中,元素显示顺序以父级的stacking context的stack level来决定显示的先后情况。
所以inner在与box2比较时会用box1的level值
你可以参考这篇文章
http://www.blueidea.com/tech/web/2008/5975.asp

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.