我想在我的網站上放置一個模式彈出窗口。它的HTML是這樣的:z-indexs倉位:固定
<div id="thePopup" class="popup" style="display:none;">
<div class="popup-shadow">.</div>
<h3>My Details</h3>
<p>Message....</p>
</div>
然後,我有CSS(實際上SASS,它編譯成CSS)是這樣的:
.popup {
z-index:10000;
width:32em;
position:absolute;
left:20%;
width:60%;
.popup-shadow {
position:fixed;
top:0%;
left:0%;
width:100%;
height:100%;
z-index:9000;
background-color:#999999;
/* I have yet to do it, but the shadow will be slightly transparent */
}
}
有,設置thePopup
來顯示一個按鈕:塊當用戶點擊它。彈出窗口嵌套在我網站上的一個內容面板中。它是position:absolute
,所以當它可見時它會出現在它的父面板上方。我不會將thePopup
設置爲position:fixed
,因爲它可能比用戶屏幕的高度大,我希望它們能夠在其上滾動。但是,我希望在屏幕上的任何地方變暗而不是彈出窗口 - 以向用戶指示他們需要與其進行交互。
這就是我遇到的問題 - popup-shadow
正在thePopup
的前面提供,儘管它具有較低的z級別。我不知道這是爲什麼。如果我拿走popup-shadow
div,thepopup
按預期出現在屏幕上。有沒有人有任何想法,爲什麼這是?即使它的z-index值較低,子div是否會始終顯示在父代之上?
這一半的工作 - 「彈出」的子元素是陰影的前面,但彈出本身不是。如果'popup'在CSS中被賦予背景色,這是很明顯的。 – Oliver
如果您爲彈出框設置了'position:inherit',那麼就出現了:請參閱演示:http://jsfiddle.net/rathoreahsan/kFaYy/ –
問題是,在該上下文中,位置:inherit意爲position:static 。我需要'popup'來完全定位,以使它能夠像彈出窗口一樣正常工作。看起來好像沒有簡單的解決方法 - 我必須讓'popup-shadow'不是'popup'的子元素,並以不同的方式處理它。 – Oliver