J'essaie de faire ma table pour montrer sur le dessus de la classe de superposition. Jusqu'ici tout va bien. S'il vous plaît aider.
<table>
<tr><td>Test</td></tr>
</table>
<button>Overlay</button>
table {
background-color: white;
height: 300px;
width: 300px;
}
.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: black;
opacity: 0.5;
z-index: 50;
}
$('button').click(function() {
$('body').append("<div class='overlay'></div>");
$('table').css('zIndex', '60');
$('table').css({ zIndex: 60 });
});
Pour que z-index
fonctionne, ajoutez position: relative
ou position: absolute;
Voici un jsfiddle
table {
position: relative;
background-color: white;
height: 300px;
width: 300px;
}
vous pouvez simplement ajouter $('table').css({ 'position': 'relative' });
à votre événement click
$('button').click(function() {
$('body').append("<div class='overlay'></div>");
$('table').css('zIndex', '60');
$('table').css({ 'position': 'relative' });
});
Une autre approche consiste à créer une ou plusieurs classes et à les appeler avec .addClass () ou .toggleClass ()
.zindex60 {z-index:60;}
$('button').click(function() {
$('body').append("<div class='overlay'></div>");
$('table').addClass('zindex60');
});
Ajoutez la propriété position
à table
. Je suppose que dans votre cas, vous avez besoin de position: relative;
.
z-index
ne fonctionnera jamais si l'élément n'a pas de propriété position
configurée.
table {
position: relative; /* this is required for z-index */
background-color: white;
height: 300px;
width: 300px;
}
Voici un jsfidle de travail: http://jsfiddle.net/Smartik/u96coj0q/3/
Voici un autre exemple qui minimisera le JS et utilisera davantage CSS: http://jsfiddle.net/Smartik/u96coj0q/5/