Bonjour,
j'aimerai comprendre précisément la différence entre les pseudo classes :last-child et :last-of-type
Je viens de perdre une heure pour une mise en page en trois colonnes. J'ai un div conteneur avec un display:table qui contient trois paragraphes avec un display:table-cell. J'ai appliqué un border-right:dashed 1px; sur les paragraphes pour créer une ligne de séparation et j'ai passé une heure à essayer de comprendre pourquoi ça ne fonctionne pas pour retirer le border du dernier paragraphe qui est donc sur la bordure du site avant de voir que ça fonctionne avec :last-of-type.
Il n'y a pas d'explications claires sur les spécificités de ces pseudo classes sur w3schools, dans les deux cas il donne pour exemple une couleur de background et ne disent rien de plus.
http://www.w3schools.com/cssref/sel_last-of-type.asp
http://www.w3schools.com/cssref/sel_last-child.asp
Je pense qu'il doit y avoir une question d'ordre d'application des styles dans les enfants du div mais je n'ai pas capté précisément le principe.
Modifié par Cyberdome (12 Oct 2016 - 23:24)
j'aimerai comprendre précisément la différence entre les pseudo classes :last-child et :last-of-type
Je viens de perdre une heure pour une mise en page en trois colonnes. J'ai un div conteneur avec un display:table qui contient trois paragraphes avec un display:table-cell. J'ai appliqué un border-right:dashed 1px; sur les paragraphes pour créer une ligne de séparation et j'ai passé une heure à essayer de comprendre pourquoi ça ne fonctionne pas pour retirer le border du dernier paragraphe qui est donc sur la bordure du site avant de voir que ça fonctionne avec :last-of-type.
Il n'y a pas d'explications claires sur les spécificités de ces pseudo classes sur w3schools, dans les deux cas il donne pour exemple une couleur de background et ne disent rien de plus.
http://www.w3schools.com/cssref/sel_last-of-type.asp
http://www.w3schools.com/cssref/sel_last-child.asp
Je pense qu'il doit y avoir une question d'ordre d'application des styles dans les enfants du div mais je n'ai pas capté précisément le principe.
<!DOCTYPE html>
<head>
<style>
#table { width:1000px; height:300px; display:table; }
.colonne { width:333px; height:300px; display:table-cell; border-right:dashed 1px gray }
.colonne:last-of-type{ border-right:none; }
</style>
</head>
<body>
<div id="table">
<p class="colonne">blablabla</p>
<p class="colonne">blablabla</p>
<p class="colonne">blablabla</p>
</div>
</body>
</html>
Modifié par Cyberdome (12 Oct 2016 - 23:24)