Поместите элемент относительной позиции позади элемента фиксированной позиции - PullRequest
0 голосов
/ 05 марта 2020

Я хочу поставить позади button с позицией relative до div с postion:fixed. Цель относительного положения button основана на этом ответе моего вопроса предварительного просмотра. Исходя из этих ответов, пользовательское поле со списком работает отлично, как я ожидал Но кнопка поля со списком доступна при отображении любых всплывающих окон и элементов фиксированной позиции. К этому вопросу я прикрепил свой учебный код:

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="sticky">
        <div class="fixed">

        </div>
    </div>

    <div class="elements">
        <button>I should behind this green wall!</button>

    </div>
</body>
</html>

CSS:

 html,body{

    min-height: 100%;
 }

 body{

    margin: 0;
    background-color: rgb(233, 233, 233);
 }

 .sticky{

    position: sticky;
    height: 40px;
    width: 100%;
    background-color: orange;
 }

 .fixed{

    position: fixed;
    margin-top: 40px;

    height: 100%;
    width: 100%;
    background-color: rgba(34, 138, 34, 0.555);
 }

 .elements{
     background-color: rgb(231, 77, 39);
 }
 .elements button{

    position: relative;
 }

Текущий дизайн:

enter image description here

Ожидаемый дизайн:

enter image description here

Как я могу решить это? Заранее спасибо ...

1 Ответ

1 голос
/ 05 марта 2020

Добавление z-index установит z-порядок .sticky и его потомков.

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background-color: rgb(233, 233, 233);
}

.sticky {
  position: sticky;
  height: 40px;
  width: 100%;
  background-color: orange;
  z-index: 1;
}

.fixed {
  position: fixed;
  margin-top: 40px;
  height: 100%;
  width: 100%;
  background-color: rgba(34, 138, 34, 0.555);
}

.elements {
  background-color: rgb(231, 77, 39);
}

.elements button {
  position: relative;
}
<div class="sticky">
  <div class="fixed">
  </div>
</div>

<div class="elements">
  <button>I should behind this green wall!</button>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...