{"id":2365,"date":"2012-04-10T07:58:31","date_gmt":"2012-04-10T05:58:31","guid":{"rendered":"https:\/\/www.creativejuiz.fr\/blog\/?p=2365"},"modified":"2015-01-18T16:09:27","modified_gmt":"2015-01-18T15:09:27","slug":"nth-child-css2-compatible-ie7","status":"publish","type":"post","link":"https:\/\/www.creativejuiz.fr\/blog\/tutoriels\/nth-child-css2-compatible-ie7","title":{"rendered":"Un Nth-child en CSS 2 compatible depuis IE7"},"content":{"rendered":"<p>Utiliser CSS3 c&rsquo;est bien, mais pas suffisant. Il ne s&rsquo;agit pas d&rsquo;un nouveau langage de style, mais bien d&rsquo;ajouts \u00e0 CSS2.1. Il serait donc pr\u00e9matur\u00e9 de vouloir se jeter sur CSS3 sans maitriser son petit fr\u00e8re.<!--more--><\/p>\n<p>Cette phrase sonne comme du d\u00e9j\u00e0 vu, d\u00e9j\u00e0 entendu, ce n&rsquo;est pas la premi\u00e8re fois que je le dis, et elle fait \u00e9galement \u00e9cho \u00e0 l&rsquo;article sur <a href=\"http:\/\/blog.goetter.fr\/post\/20724748032\/papa-cest-quoi-un-mirage-css3-mon-fils\">le&nbsp;&laquo;mirage&nbsp;CSS3&raquo;<\/a> de Rapha\u00ebl Goetter.<\/p>\n<p>Je ne vais pas m&rsquo;\u00e9taler davantage sur cet aspect de ce 3\u00e8me volet de la passionnante saga CSS, ce n&rsquo;est pas l&rsquo;objet de ce billet.<\/p>\n<h2>Ce qu&rsquo;on cherche \u00e0 faire<\/h2>\n<p><code class=\"pseudo-class\">nth-child()<\/code> permet de cibler pr\u00e9cis\u00e9ment un \u00e9l\u00e9ment s&rsquo;il respecte la condition entre parenth\u00e8ses.<br \/>\nOn part du principe qu&rsquo;on travaille sur une liste.<\/p>\n<p>Exemples :<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li:nth-child(n+3) { }<\/code><\/pre>\n<p>permet de cibler tous les <code class=\"element\">li<\/code> \u00e0 partir du troisi\u00e8me.<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li:nth-child(3) { }<\/code><\/pre>\n<p>permet de ne cibler que le 3\u00e8me <code class=\"element\">li<\/code>.<\/p>\n<p><a href=\"\/blog\/doc\/nth-child-css3-css2.html\" class=\"demonstration\">D\u00e9monstration<\/a><\/p>\n<p>Il est possible de reproduire ces deux s\u00e9lecteurs CSS3 avec les s\u00e9lecteurs CSS2.1 (compatible IE7+)<\/p>\n<h2>Cibler tous les \u00e9l\u00e9ments sauf les N premiers en CSS2<\/h2>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-css2.png\" alt=\"\" title=\"\" width=\"604\" height=\"90\" class=\"aligncenter size-full wp-image-2373\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-css2.png 604w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-css2-300x44.png 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-css2-600x89.png 600w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/p>\n<p>Si vous lisez r\u00e9guli\u00e8rement les actualit\u00e9s d&rsquo;Alsacreations.com, vous avez probablement crois\u00e9 mon article sur <a href=\"http:\/\/www.alsacreations.com\/astuce\/lire\/1312-selectionner-les-freres-d-un-element-en-css-nth-child.html\">la&nbsp;s\u00e9lection&nbsp;avanc\u00e9e&nbsp;des&nbsp;fr\u00e8res&nbsp;d&rsquo;un&nbsp;\u00e9l\u00e9ment<\/a>. Cet article fait r\u00e9f\u00e9rence &#8211; entre autres choses &#8211; au s\u00e9lecteur d&rsquo;adjacence direct repr\u00e9sent\u00e9 par un \u00ab\u00a0+\u00a0\u00bb.<\/p>\n<p>Ce code permet de s\u00e9lectionner tous les <code class=\"element\">li<\/code> fr\u00e8res directs d&rsquo;un autre <code class=\"element\">li<\/code>. C&rsquo;est \u00e0 dire tous les <code class=\"element\">li<\/code> sauf le premier, puisqu&rsquo;il n&rsquo;a pas de fr\u00e8re avant lui.<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li + li { }<\/code><\/pre>\n<p>De la m\u00eame mani\u00e8re, ce code permet de cibler tous les <code class=\"element\">li<\/code> sauf les deux premiers :<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li + li + li { }<\/code><\/pre>\n<p>Ainsi de suite. On a ici reproduit notre s\u00e9lecteur CSS3 <code>li:nth-child(n+3)<\/code>.<\/p>\n<h2>Cibler le Ni\u00e8me \u00e9l\u00e9ment en CSS2<\/h2>\n<p class=\"center\"><img decoding=\"async\" src=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-adjacence-css2.png\" alt=\"\" title=\"\" width=\"604\" height=\"85\" class=\"aligncenter size-full wp-image-2374\" srcset=\"https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-adjacence-css2.png 604w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-adjacence-css2-300x42.png 300w, https:\/\/www.creativejuiz.fr\/blog\/wp-content\/uploads\/2012\/04\/nth-child-adjacence-css2-600x84.png 600w\" sizes=\"(max-width: 604px) 100vw, 604px\" \/><\/p>\n<p>Cette fois nous allons avoir besoin de la pseudo-classe <code class=\"pseudo-classe\">first-child<\/code> qui permet de cibler le premier enfant d&rsquo;un \u00e9l\u00e9ment.<br \/>\nC&rsquo;est pratique, car on sait d\u00e9j\u00e0 comment <strong>cibler le premier<\/strong> \u00e9l\u00e9ment :<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li:first-child { }<\/code><\/pre>\n<p>Pour <strong>cibler le second<\/strong>, il faut combiner le s\u00e9lecteur pr\u00e9c\u00e9dent au s\u00e9lecteur d&rsquo;adjacence directe pour obtenir un s\u00e9lecteur qui dit \u00ab\u00a0l&rsquo;\u00e9l\u00e9ment directement fr\u00e8re du premier\u00a0\u00bb :<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li:first-child + li { }<\/code><\/pre>\n<p>Cela permet ici de cibler le deuxi\u00e8me \u00e9l\u00e9ment.<\/p>\n<p>On peut \u00e9galement dire \u00ab\u00a0l&rsquo;\u00e9l\u00e9ment directement fr\u00e8re de l&rsquo;\u00e9l\u00e9ment directement fr\u00e8re du premier\u00a0\u00bb<\/p>\n<pre class=\"code\"><code class=\"css boc-nogutter boc-nocontrols\">li:first-child + li + li { }<\/code><\/pre>\n<p>L\u00e0 on cible <strong>le troisi\u00e8me \u00e9l\u00e9ment<\/strong>&hellip; bon, vous avez compris le truc j&rsquo;imagine ?<\/p>\n<p><a href=\"\/blog\/doc\/nth-child-css3-css2.html#ex3\" class=\"demonstration\">D\u00e9monstration<\/a><\/p>\n<p>N&rsquo;h\u00e9sitez pas si vous avez des suggestions d&rsquo;am\u00e9lioration, ou des remarques sur cet article.<\/p>\n<p class=\"message\">Ce sujet fait relai \u00e0 celui de Rapha\u00ebl Goetter dans son article <a href=\"http:\/\/blog.goetter.fr\/post\/13309597151\/cibler-le-nieme-element-en-css2\">Cibler le Nieme \u00e9l\u00e9ment en CSS2<\/a>. Il est simplement abord\u00e9 \u00e0 ma sauce.<\/p>\n<div class=\"sources\">\n<h2>Sources et liens utiles<\/h2>\n<ul>\n<li><a href=\"http:\/\/www.alsacreations.com\/astuce\/lire\/1312-selectionner-les-freres-d-un-element-en-css-nth-child.html\">S\u00e9lection avanc\u00e9e des fr\u00e8res d&rsquo;un \u00e9l\u00e9ment &#8211; Alsacr\u00e9ations<\/a><\/li>\n<li><a href=\"http:\/\/blog.goetter.fr\/post\/13309597151\/cibler-le-nieme-element-en-css2\">Cibler le Nieme \u00e9l\u00e9ment en CSS2 &#8211; La t\u00eate dans le flux<\/a><\/li>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Utiliser CSS3 c&rsquo;est bien, mais pas suffisant. Il ne s&rsquo;agit pas d&rsquo;un nouveau langage de style, mais bien d&rsquo;ajouts \u00e0 CSS2.1. Il serait donc pr\u00e9matur\u00e9 de vouloir se jeter sur CSS3 sans maitriser son petit fr\u00e8re.<\/p>\n","protected":false},"author":4,"featured_media":2377,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_bluesky_dont_syndicate":"","_bluesky_syndication_accounts":"","_bluesky_syndication_text":"","footnotes":""},"categories":[17,9],"tags":[398,228,288,428,451,399],"coauthors":[597],"class_list":["post-2365","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css-css3","category-tutoriels","tag-adjacence","tag-astuce","tag-css2-1","tag-css3","tag-nth-child","tag-selecteur"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/2365","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/comments?post=2365"}],"version-history":[{"count":0,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/posts\/2365\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media\/2377"}],"wp:attachment":[{"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/media?parent=2365"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/categories?post=2365"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/tags?post=2365"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.creativejuiz.fr\/blog\/wp-json\/wp\/v2\/coauthors?post=2365"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}