Я пытаюсь наложить div, который будет плавать в контейнере flexbox.
Заголовок представляет собой контейнер flexbox, и в нем работают три элемента div flexbox. Наложение, которое я хочу наложить на остальные три блока div, но все же оно должно быть ограничено внутри блока контейнера flexbox .header.
Я пробовал несколько методов в stackoverflow и в других местах, но как не видел решения, которое устраняет наложение или наслоение при использовании в сочетании с flexbox.
Спасибо за любые предложения!
Ссылка на jsfiddle следующего: Ссылка
HTML:
<div class="header">
<div class="headerLeft">Left</div>
<div class="headerMiddle">Middle</div>
<div class="headerRight">Right</div>
<div class="overlay">Overlay</div>
</div>
CSS:
.header {
border: 3px solid orange;
width: 100%;
display: -webkit-flex;
display: flex;
z-index: 0;
}
.headerLeft {
border: 2px solid chartreuse;
-webkit-flex: 1;
flex: 1;
z-index: 1;
}
.headerMiddle {
border: 2px solid darkorchid;
-webkit-flex: 1;
flex: 1;
z-index: 1;
}
.headerRight {
border: 2px solid darkorange;
-webkit-flex: 1;
flex: 1;
z-index: 1;
}
.overlay {
border: 2px solid green;
z-index: 10;
background: rgba(0,0,0,0.3);
}
1 ответ
Глядя на весь закомментированный код, вы были на правильном пути с относительным позиционированием гибкого контейнера. Вам просто нужно было абсолютно позиционировать свой элемент наложения.
Добавьте / раскомментируйте эти стили:
.header {
position: relative;
}
.overlay {
position: absolute;
left: 0; top: 0; right: 0; bottom: 0;
}
Похожие вопросы
Связанные вопросы
Новые вопросы
html
HTML (язык гипертекстовой разметки) — это язык разметки для создания веб-страниц и другой информации, отображаемой в веб-браузере. Вопросы относительно HTML должны включать минимальный воспроизводимый пример и некоторое представление о том, чего вы пытаетесь достичь. Этот тег редко используется отдельно и часто в паре с [CSS] и [JavaScript].