2017-10-15 329 views
0

我想創建一個由JQuery觸發的彈出窗口並使用CSS進行樣式化。我在框的右上角添加了一個關閉按鈕,但是當您在框內向下滾動時(溢出:滾動,由於框的最大高度),X關閉按鈕也會滾動,即使定義了絕對位置:固定位置的彈出窗口的CSS關閉按鈕

.team-name-popup{ 
position:fixed; 
z-index: 9; 
top:10%; 
left:50%; 
margin-left:-350px; 
width:700px; 
height:auto; 
max-height:400px; 
background:rgba(0,0,0,0.9); 
overflow:scroll; 
} 
.team-name-popup-inner{ 
position:relative; 
width:100%; 
height:auto; 
max-height: 100%; 
padding: 50px; 
overflow:scroll; 
} 
.team-popup-close{ 
position:absolute; 
z-index:999; 
top:5px; 
right:10px; 
color:#fff; 
} 

HTML

<div class="team-name-popup"> 
<a href="#" class="team-popup-close">&times;</a> 
<div class="team-name-popup-inner"> 
<h5 class="team-name">Name</h5> 
Text here 
</div><!--team popup inner--> 
</div><!--team popup--> 

我試圖改變溢出,但隨後滾動不起作用:

.team-name-popup{ 
.... 
overflow:hidden; 
} 
.team-name-popup-inner{ 
.... 
overflow:scroll; 
} 

默認

enter image description here

滾動

enter image description here

+0

如果你想要一個元素保持相對於屏幕的視口,MDN你需要'fixed'定位:>「'fixed'該元件是由正常的文檔流中去除;在元素創建沒有空間頁面佈局,而是相對於屏幕的視口進行定位,並且在滾動時不移動。「 https://developer.mozilla.org/en-US/docs/Web/CSS/position – UncaughtTypeError

回答

1

請檢查該解決方案。

.team-name-popup{ 
position:fixed; 
z-index: 9; 
top:10%; 
left:50%; 
margin-left:-350px; 
width:700px; 
height: 400px; 
max-height:400px; 
background:rgba(0,0,0,0.9); 
overflow:scroll; 
} 
.team-name-popup-inner{ 
position: absolute; 
width:100%; 
height: 400px; 
padding: 50px; 
overflow:scroll; 
} 
.team-popup-close{ 
position:absolute; 
z-index:999; 
top:5px; 
right:10px; 
color:#fff; 
} 
+0

非常感謝!所以看起來問題只是因爲.team-popup-inner沒有定義適當的高度。 – rainerbrunotte

+0

這實際上是因爲你在'.team-name-popup-inner'中有'position:relative'。然後我們不得不用'height:400px'和'position:absolute'來代替 –