Я не могу понять, как вывести изображения на первый план CSS
. Я уже пробовал установить z-index на 1000 и положение относительно, но все равно не удалось.
Вот пример-
#header {
background: url(http://placehold.it/420x160) center top no-repeat;
}
#header-inner {
background: url(http://placekitten.com/150/200) right top no-repeat;
}
.logo-class {
height: 128px;
}
.content {
margin-left: auto;
margin-right: auto;
table-layout: fixed;
border-collapse: collapse;
}
.td-main {
text-align: center;
padding: 80px 10px 80px 10px;
border: 1px solid #A02422;
background: #ABABAB;
}
<body>
<div id="header">
<div id="header-inner">
<table class="content">
<col width="400px" />
<tr>
<td>
<table class="content">
<col width="400px" />
<tr>
<td>
<div class="logo-class"></div>
</td>
</tr>
<tr>
<td id="menu"></td>
</tr>
</table>
<table class="content">
<col width="120px" />
<col width="160px" />
<col width="120px" />
<tr>
<td class="td-main">text</td>
<td class="td-main">text</td>
<td class="td-main">text</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<!-- header-inner -->
</div>
<!-- header -->
</body>
Ответы:
Добавить
z-index:-1
иposition:relative
в .content#header { background: url(http://placehold.it/420x160) center top no-repeat; } #header-inner { background: url(http://placekitten.com/150/200) right top no-repeat; } .logo-class { height: 128px; } .content { margin-left: auto; margin-right: auto; table-layout: fixed; border-collapse: collapse; z-index: -1; position:relative; } .td-main { text-align: center; padding: 80px 10px 80px 10px; border: 1px solid #A02422; background: #ABABAB; }
<body> <div id="header"> <div id="header-inner"> <table class="content"> <col width="400px" /> <tr> <td> <table class="content"> <col width="400px" /> <tr> <td> <div class="logo-class"></div> </td> </tr> <tr> <td id="menu"></td> </tr> </table> <table class="content"> <col width="120px" /> <col width="160px" /> <col width="120px" /> <tr> <td class="td-main">text</td> <td class="td-main">text</td> <td class="td-main">text</td> </tr> </table> </td> </tr> </table> </div> <!-- header-inner --> </div> <!-- header --> </body>
источник
Z-index
контролирует, как изображения или div накладываются друг на друга. Div / image с более высоким значением z-index занимает переднее место, а более низкое остается позади.z-index
делает, но все равно это не сработало. Из этого ответа я понял, чтоz-index
вы также должны учитывать родительскую иерархию.+1
? Это неверно.Примечание: Z-индекс работает только на расположенных элементов (
position:absolute
,position:relative
илиposition:fixed
). Воспользуйтесь одним из них.источник
В моем случае мне пришлось переместить html-код элемента, который я хотел, в начало в конце html-файла, потому что, если у одного элемента есть z-index, а у другого нет z-индекса, это не сработает.
источник
Еще одно примечание: z-index необходимо учитывать при рассмотрении дочерних объектов относительно других объектов.
Например
<div class="container"> <div class="branch_1"> <div class="branch_1__child"></div> </div> <div class="branch_2"> <div class="branch_2__child"></div> </div> </div>
Если вы указали
branch_1__child
z-index99
и далиbranch_2__child
z-index 1, но вы также далиbranch_2
z-index10
иbranch_1
z-index1
, вашbranch_1__child
все равно не будет отображаться перед вашимbranch_2__child
В любом случае, я пытаюсь сказать; если родительский элемент элемента, который вы хотите разместить впереди, имеет меньший z-индекс, чем его родственник, этот элемент не будет размещен выше.
Z-index относится к его контейнерам. Z-индекс, размещенный на контейнере выше по иерархии, в основном запускает новый «слой»
Incep [начало]
Вот скрипка, с которой можно поиграть:
https://jsfiddle.net/orkLx6o8/
источник