#html #css
Вопрос:
Я постараюсь объяснить это как можно проще. Я хотел бы иметь элемент «великий родитель», который занимает высоту 100 вч и 100% ширины окна просмотра, что-то вроде раздела, а внутри будет родительский элемент, содержащий дочерний элемент, который будет иметь абсолютное позиционирование.
<body>
<div class="container">
<div class="parentElement">
<div class="ChildrenElement">
</div>
</div>
</div>
</body>
Моделирование:
<style>
.container {
background-color:black;
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
}
.parentElement {
position:relative;
background-color:blue;
width: 800px;
height: 200px;
}
.ChildrenElement {
position:absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255,192,203, 0.5);
transform: translate(10%);
}
</style>
Вывод:
Но я бы хотел, чтобы это было что-то вроде:
Красное поле представляет дочерний элемент, и если он удаляется от родительского элемента, он должен находиться за черным фоном
Код:
Комментарии:
1. Вы пробовали использовать z-индекс?
Ответ №1:
Я верю, что вы ищете oveflow:hidden
(https://developer.mozilla.org/en-US/docs/Web/CSS/overflow).
.container {
background-color:black;
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
}
.parentElement {
position:relative;
background-color:blue;
width: 800px;
height: 200px;
max-width: 90%;
margin: auto;
overflow:hidden;
}
.ChildrenElement {
position:absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255,192,203, 0.5);
transform: translate(10%);
}
<!DOCTYPE html>
<body>
<div class="container">
<div class="parentElement">
<div class="ChildrenElement">
</div>
</div>
</div>
</body>
Ответ №2:
Проблема здесь в том, что HTML всегда помещает родительские элементы за дочерними элементами, чтобы они были видны. Мы можем изменить это, просто поменяв местами классы родительских и дочерних элементов:
.container {
background-color: black;
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
.parentElement {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 192, 203, 0.5);
transform: translate(10%);
}
.ChildrenElement {
position: relative;
background-color: blue;
width: 800px;
height: 200px;
}
<body>
<div class="container">
<div class="ChildrenElement">
<div class="parentElement">
</div>
</div>
</div>
</body>
Теперь, несмотря на то, что расположение элементов изменилось, я не вижу никакой разницы. Пожалуйста, прокомментируйте, сработает ли это.