diff options
Diffstat (limited to 'files/fr/web/css/grid-area/index.html')
-rw-r--r-- | files/fr/web/css/grid-area/index.html | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/files/fr/web/css/grid-area/index.html b/files/fr/web/css/grid-area/index.html new file mode 100644 index 0000000000..11f8d6af87 --- /dev/null +++ b/files/fr/web/css/grid-area/index.html @@ -0,0 +1,156 @@ +--- +title: grid-area +slug: Web/CSS/grid-area +tags: + - CSS + - Propriété + - Reference +translation_of: Web/CSS/grid-area +--- +<div>{{CSSRef}}</div> + +<p>La propriété <strong><code>grid-area</code></strong> est une propriété raccourcie pour {{cssxref("grid-row-start")}}, {{cssxref("grid-column-start")}}, {{cssxref("grid-row-end")}} et {{cssxref("grid-column-end")}} qui permet de définir la taille d'un objet de la grille et son emplacement via les bords de sa zone de grille.</p> + +<div>{{EmbedInteractiveExample("pages/css/grid-area.html")}}</div> + +<p class="hidden">Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> et à envoyer une <em>pull request</em> !</p> + +<p>Si quatre valeurs <code><grid-line></code> sont fournies, la première sera appliquée à <code>grid-row-start</code>, la deuxième à <code>grid-column-start</code>, la troisième à <code>grid-row-end</code> et la quatrième à <code>grid-column-end</code>.</p> + +<p>Lorsqu'il n'y a pas de valeur pour <code>grid-column-end</code>, si <code>grid-column-start</code> est un identifiant de zone ({{cssxref("<custom-ident>")}}, <code>grid-column-end</code> sera défini avec cet identifiant, sinon il sera défini avec <code>auto</code>.</p> + +<p>Lorsqu'il n'y a pas de valeur pour <code>grid-row-end</code>, si <code>grid-row-start</code> est un identifiant de zone, <code>grid-row-end</code> sera défini avec cet identifiant, sinon il sera défini avec <code>auto</code>.</p> + +<p>Lorsqu'il n'y a pas de valeur pour <code>grid-column-start</code>, si <code>grid-row-start</code> est un identifiant de zone, les quatres propriétés seront définies avec cette valeur. Sinon, elles vaudront <code>auto</code>.</p> + +<p>La propriété <code>grid-area</code> peut également prendre comme valeur un identifiant personnalisé ({{cssxref("<custom-ident>")}}) qui pourra être utilisé comme nom pour une zone de la grille placée grâce à la propriété {{cssxref("grid-template-areas")}}.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="brush: css no-line-numbers">/* Valeurs avec un mot-clé */ +grid-area: auto; +grid-area: auto / auto; +grid-area: auto / auto / auto; +grid-area: auto / auto / auto / auto; + +/* Valeurs de type <custom-ident> */ +grid-area: une-zone-de-grille; +grid-area: une-zone-de-grille / une-autre-zone; + +/* Forme : <integer> && <custom-ident>? */ +grid-area: une-zone-de-grille 4; +grid-area: une-zone-de-grille 4 / 2 une-autre-zone; + +/* Forme span && [ <integer> || <custom-ident> ] */ +grid-area: span 3; +grid-area: span 3 / span une-zone-de-grille; +grid-area: 2 span / une-autre-zone span; + +/* Valeurs globales */ +grid-area: inherit; +grid-area: initial; +grid-area: unset;</pre> + +<h3 id="Valeurs">Valeurs</h3> + +<dl> + <dt><code>auto</code></dt> + <dd>Un mot-clé qui indique que la propriété ne contribue pas au placement de l'élément sur la grille. Cela indique un placement automatique, une taille de fragment (<em>span</em>) automatique ou une taille par défaut de <code>1</code>.</dd> + <dt><code><custom-ident></code></dt> + <dd>S'il existe une ligne nommée avec '<custom-ident>-start', la première ligne correspondante contribue au placement de l'élément sur la grille. + <p class="note"><strong>Note :</strong> Les noms des zones de grille sont générés implicitement. Ainsi, en utilisant <code>grid-area: foo;</code> cela sélectionnera le début de la grille nommée correspondante (sauf si une autre ligne <code>foo-start</code> a été explicitement déclarée).</p> + + <p>Sinon, la valeur est traitée comme si on avait utilisé <code><custom-ident></code> et la valeur <code>1</code>.</p> + </dd> + <dt><code><integer> && <custom-ident>?</code></dt> + <dd>La n-ième ligne de la grille contribue au placement de l'élément sur la grille. Si un entier négatif est utilisé, le comptage sera fait depuis la fin de la grille explicite. + <p>Si un nom est fourni pour <custom-ident>, seules les lignes ayant ce nom seront comptées. S'il n'y a pas suffisamment de lignes existant avec ce nom, toutes les lignes implicites seront comptées afin de trouver la position.</p> + + <p>Si la valeur entière utilisée est <code>0</code>, la règle est invalide.</p> + </dd> + <dt><code>span && [ <integer> || <custom-ident> ]</code></dt> + <dd>Un fragment de grille est utilisé pour le placement de l'élément sur la grille afin que le début de la ligne pour l'élément de la grille soit placé à n lignes du bord de fin. + <p>Si un nom fourni pour <custom-ident>, seules les lignes ayant ce nom seront comptées. S'il n'y a pas suffisamment de lignes existantes avec ce nom, tout les lignes implicites du côté de la grille explicite et qui correspondent à la direction de la recherche seront comptées afin de placer ce fragment.</p> + + <p>Si l'entier n'est pas défini, la valeur par défaut qui sera utilisée sera <code>1</code>. Les entiers négatifs ou nuls sont invalides.</p> + </dd> +</dl> + +<h3 id="Syntaxe_formelle">Syntaxe formelle</h3> + +<pre class="syntaxbox">{{csssyntax}}</pre> + +<h2 id="Exemples">Exemples</h2> + +<h3 id="CSS">CSS</h3> + +<pre class="brush: css; highlight[9]">#grid { + display: grid; + height: 100px; + grid-template: repeat(4, 1fr) / 50px 100px; +} + +#item1 { + background-color: lime; + grid-area: 2 / 2 / auto / span 3; +} + +#item2 { + background-color: yellow; +} + +#item3 { + background-color: blue; +}</pre> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><div id="grid"> + <div id="item1"></div> + <div id="item2"></div> + <div id="item3"></div> +</div></pre> + +<h3 id="Résultat">Résultat</h3> + +<p>{{EmbedLiveSample("Exemples", "100%", "150px")}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">État</th> + <th scope="col">Commentaires</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName("CSS3 Grid", "#propdef-grid-area", "grid-area")}}</td> + <td>{{Spec2("CSS3 Grid")}}</td> + <td>Définition initiale.</td> + </tr> + </tbody> +</table> + +<p>{{cssinfo}}</p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> + +<p>{{Compat("css.properties.grid-area")}}</p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>{{cssxref("grid-row")}}</li> + <li>{{cssxref("grid-row-start")}}</li> + <li>{{cssxref("grid-row-end")}}</li> + <li>{{cssxref("grid-column")}}</li> + <li>{{cssxref("grid-column-start")}}</li> + <li>{{cssxref("grid-column-end")}}</li> + <li><a href="/fr/docs/Web/CSS/CSS_Grid_Layout/Définir_des_zones_sur_une_grille">Guide : les zones des grilles CSS</a></li> + <li>Tutoriel vidéo : <a href="http://gridbyexample.com/video/grid-template-areas/">les zones des grilles CSS (en anglais)</a></li> +</ul> |