#html #css
#HTML #css
Вопрос:
Кто-нибудь может сказать мне, как я могу отобразить всплывающее окно над заголовком?
Почему этот html-токен скрывается под тегом заголовка?
Я безуспешно пытался использовать z-index.
function revealPopup(id){
document
.getElementById(id)
.classList
.toggle("show");
}
.header {
z-index: 1;
background-color: yellow;
font-family: "Segoe UI", sans-serif;
}
.chat {
z-index: 2;
position: relative;
padding-left: 14px;
padding-right: 14px;
overflow-x: hidden;
overflow-y: auto;
}
.line {
z-index: 3;
padding-top: 10px;
padding-right: 0px;
padding-left: 16px;
display: flex;
align-content: center;
justify-content: flex-end;
text-align: left;
visibility: visible;
}
.bubble {
z-index: 4;
background: #ff0000;
flex: 0 1 auto;
min-width: 0;
font-size: 14px;
line-height: 18px;
position: relative;
text-align: left;
padding: 6px 9px;
border-radius: 6px;
transition: box-shadow 2s;
}
/* The actual popup */
.popuptext {
z-index: 5;
visibility: hidden;
width: 160px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 8px 0;
position: absolute;
bottom: 125%;
left: 20%;
margin-left: -80px;
}
/* Popup arrow */
.popuptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}
/* Toggle this class - hide and show the popup */
.popuptext.show {
visibility: visible;
-webkit-animation: fadeIn 1s;
animation: fadeIn 1s;
}
/* Add animation (fade in the popup) */
@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
<div class="container">
<div class="header">
<h3>
Header
</h3>
</div>
<div class="chat">
<div class="line">
<div class="bubble">
<span class="popuptext" id="popup">A Simple Popup!</span>
<div class="message" onclick="revealPopup('popup')">Click Me</div>
</div>
</div>
<div class="line">
<div class="bubble">
<span class="popuptext" id="popup2">A Simple Popup!</span>
<div class="message" onclick="revealPopup('popup2')">Click Me</div>
</div>
</div>
</div>
</div>
Комментарии:
1. В HTML есть отличный
<header>
элемент. Нет необходимости подделывать его с именами классов.
Ответ №1:
.bubble
таким position: relative
образом, он создает новый контекст стекирования. Поскольку .popuptext
он находится внутри .bubble
z-индекса, который вы установили для него, он относится к .bubble
.
Вам нужно установить z-index
on .bubble
(поскольку он разделяет контекст стекирования с .header
).
Комментарии:
1. установка z-индекса не помогла ему работать: (Я делаю что-то не так?
Ответ №2:
Нашел его,
Переполнение останавливает его экранирование .chat
.
.chat {
...
overflow-x: hidden;
overflow-y: auto;
...
}