Je ne peux pas comprendre comment apporter des images à l' avant à l' aide CSS
. J'ai déjà essayé de définir le z-index sur 1000 et la position sur relative, mais cela échoue toujours.
Voici un exemple-
#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>
Réponses:
Ajouter
z-index:-1
etposition: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>
la source
Z-index
contrôle la façon dont les images ou les div se superposent . Une div / image avec une valeur d'index z plus élevée prend la place avant et une image inférieure resterait derrière.z-index
fonctionnait, mais cela ne fonctionnait toujours pas. Ce que j'ai appris de cette réponse, c'est quez-index
vous devez également prendre en considération la hiérarchie des parents.+1
? Ce n'est pas valable.Note: z-index ne fonctionne que sur des éléments positionnés (
position:absolute
,position:relative
, ouposition:fixed
). Utilisez l'un de ceux-ci.la source
Dans mon cas, j'ai dû déplacer le code html de l'élément que je voulais à l'avant à la fin du fichier html, car si un élément a un z-index et l'autre pas un z index, cela ne fonctionne pas.
la source
Autre Remarque: le z-index doit être pris en compte lors de l'examen des objets enfants par rapport à d'autres objets.
Par exemple
<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>
Si vous avez donné
branch_1__child
un z-index de99
et vous avez donnébranch_2__child
un z-index de 1, mais vous avez également donné votrebranch_2
z-index de10
et votrebranch_1
z-index de1
, votrebranch_1__child
toujours n'apparaîtra pas devant votrebranch_2__child
Quoi qu'il en soit, ce que j'essaie de dire, c'est; si un parent d'un élément que vous souhaitez placer devant a un z-index inférieur à son relatif, cet élément ne sera pas placé plus haut.
Le z-index est relatif à ses conteneurs. Un z-index placé sur un conteneur plus haut dans la hiérarchie commence essentiellement une nouvelle «couche»
Incep [création] tion
Voici un violon à jouer:
https://jsfiddle.net/orkLx6o8/
la source