Justify-self - Propriété CSS

justify-self

Résumé des caractéristiques de la propriété justify-self

Description rapide
Définit le positionnement d'un élément particulier dans un flex-box ou une grille suivant l'axe principal, qui souvent horizontal.
Statut
Standard
Utilisable sur
HTML
Valeurs prédéfinies
auto | normal | stretch | left | right | center | flex-start | flex-end | start | end | self-start | self-end | baseline | first baseline | last baseline
Pourcentages
Ne s'appliquent pas.
Valeur initiale
auto
Héritée par défaut
Non.
Discrète : lors d'une animation, la propriété justify-self passe d'une valeur à l'autre sans transition.
Single : valeur unique (l'ordre n'intervient pas).
Module W3C
Module CSS - Alignement des blocs
 🡇  
 🡅  
Statut du document: WD (document de travail)

Statut du document: CR (document candidat à la recommandation)

Statut du document: CR (document candidat à la recommandation)

Schéma de la syntaxe de justify-self.

Justify-self property - Syntax diagramSyntax diagram of the justify-self CSS property. See stylescss.free.fr for details. auto auto normal normal stretch stretch unsafe* unsafe* safe safe first* first* last last start start end end center center self-start self-start self-end self-end left left right right baseline baselinejustify-self:;justify-self:;
Schéma syntaxique de la propriété justify-self.
Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.
Télécharger le schéma en SVG

* indique une valeur par défaut, qui peut être omise.

Description de la propriété justify-self.

La propriété justify-self gère la position horizontale d'un élément dans sa cellule de grille. Elle doit donc être appliquée sur un élément de la grille, et non pas sur le conteneur.

Pour une présentation détaillée des possibilités des grilles, reportez-vous à notre tutoriel sur les grilles.

Autres propriétés à connaître.

Ces propriétés concernent toutes le positionnement des éléments dans une grille.

Définit le positionnement dans un flex-box ou une grille suivant l'axe principal (le plus souvent horizontal).
Gère l'alignement des éléments dans un conteneur grille suivant l'axe principal, qui est le plus souvent horizontal.
Gère la disposition des éléments dans un flex-box ou une grille, suivant l'axe secondaire (le plus souvent vertical).
Gère la disposition des éléments dans une grille suivant l'axe secondaire (vertical le plus souvent).
Gère la disposition de l'un des éléments dans une grille suivant l'axe secondaire, qui est le plus souvent vertical.
Gère la disposition des éléments dans un flex-box ou une grille suivant l'axe principal et l'axe secondaire.
Définit le placement des éléments dans leur cellule (dans le contexte d'une grille) suivant les deux axes (principal et secondaire).
Définit l'alignement d'un élément aussi bien suivant l'axe principal et suivant l'axe secondaire.

Valeurs pour justify-self.

  • justify-self: auto;

    L'élément est positionné conformément à la propriété justify-items du conteneur grille.

    Sur tous nos exemples, la direction d'écriture de l'élément est matérialisée par une flèche, vers la droite pour l'écriture des langues latines, de gauche à droite (direction:ltr), ou vers la gauche pour l'écriture des langues arables (direction:rtl).
    La propriété justify-self est appliquée aux deux éléments verts. Le deuxième étant écrit de la droite vers la gauche.
    D'autre part, la propriété justify-items du conteneur est positionnée sur center.

    justify-self:auto
  • justify-self: normal;

    L'élément est positionné conformément à l'alignement par défaut dans une grille, à savoir la valeur stretch.

    justify-self:normal
  • justify-self: start; justify-self: end;

    L'élément est positionné au début (start) ou à la fin (end) de sa colonne. Le début et la fin sont déterminées par rapport à la direction d'écriture du conteneur (la grille), ce qui este un peu contre-intuitif dans la mesure où la propriété est appliquée à l'élément lui-même. Pour les langues européennes, le début est à gauche. Il est à droite pour les langues arabes. La direction d'écriture est définie par la propriété direction sur le conteneur.

    justify-self:start

    Remarque : les valeurs flex-start et flex-end sont généralement acceptée sur un conteneur grille, mais sont traitées comme start et end.

  • justify-self: self-start; justify-self: self-end;

    L'élément est positionné au début (start) ou à la fin (end) de sa colonne, en fonction de la direction d'écriture de l'élément lui-même.

    justify-self:self-start
  • justify-self: left; justify-self: right;

    L'élément est positionné à gauche (left) ou à droite (right) de sa colonne. Le sens d'écriture n'est donc pas pris en compte.

    justify-self:left
  • justify-self: center;

    L'élément est centré horizontalement dans sa colonne. Sur notre exemple, cela ne change rien pour les éléments verts puisque tous les éléments sont déjà centrés par la propriété justify-items appliquée au conteneur.

    justify-self:center
  • justify-self: stretch;

    L'élément est étiré pour remplir toute la largeur de sa colonne. Attention, il faut que la largeur de l'élément ait été fixée à auto et que ni sa marge droite, ni sa marge gauche ne soit fixée à auto.
    Les propriétés min-width et max-width peuvent aussi fixer des contraintes qui limiteront l'effet de la valeur stretch.

    justify-self:stretch
  • justify-self: baseline; justify-self: first baseline; justify-self: last baseline;

    L'élément est aligné par rapport à la ligne de base du texte. Ces valeurs prennent du sens lorsque le texte est écrit verticalement, c'est à dire lorsque la propriété writing-mode a la valeur vertical-lr ou vertical-rl.

    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    Aa
    justify-self:baseline
    justify-self:last baseline
  • justify-self: safe ...; justify-self: unsafe ...;

    Les modificateurs safe et unsafe traitent le problème du contenu qui déborde de la place impartie par la gauche. Ces contenus sont difficiles à accéder même avec une barre de défilement. safe et unsafe peuvent être utilisés avec les valeurs start, end, center, self-start, self-end, left et right. Ils sont interdits avec auto, normal, stretch et baseline, mais ne présentent de toute façon aucune utilité avec ces valeurs.

    Formaspassphobie
    justify-self:end
    Formaspassphobie
    justify-self:safe end
  • justify-self: initial; (auto) justify-self: inherit; justify-self: revert; justify-self: revertLayer; justify-self: unset;

    Les valeurs communes sont présentées sur ces pages : initial, inherit, revert, revert-layer, unset.

Exemple d'animation de justify-self.

Pour que l'effet soit un peu plus spectaculaire, tous les éléments de cette petite grille ont été animés sur leur propriété justify-self, avec des durées différentes.

1
2
3
4
5
6

Accéder à la propriété justify-self par programme.

Modifier la valeur de justify-self en Javascript.

Deux exemples de code sont donnés ci-après. Le premier utilise la notation kebab-case (un tiret pour séparer les mots), et le deuxième la notation camel-case (une majuscule pour séparer les mots).

Javascript
let el = document.getElementById('id'); el.style['justify-self'] = 'start'; // ou let el = document.getElementById('id'); el.style.justifySelf = 'start';

Lire en Javascript la valeur de justify-self.

Pour que cet exemple de code fonctionne, la propriété justify-self doit avoir été affectée directement via l'attribut style, donc dans le code HTML, et non pas en utilisant un sélecteur CSS.

Javascript
let el = document.getElementById('id'); let value = el.style['justify-self']; // ou let el = document.getElementById('id'); let value = el.style.justifySelf;

Lire la valeur calculée de justify-self en Javascript.

La valeur calculée est déterminée par le navigateur après résolution de la cascade des héritages, et éventuellement des conflits entre plusieurs règle (voir les Les priorités). Si la propriété justify-self n'a été définie ni sur l'élément, ni sur aucun de ses parents, la valeur calculée sere auto.

Javascript
let el = document.getElementById('id'); let value = window.getComputedStyle(el).getPropertyValue('justify-self');

Modifier la valeur de la propriété justify-self avec JQuery.

Les notations kebab-case et camel-case sont reconnues par JQuery sans modification de syntaxe.

JQuery

$('#id').css('justify-self', 'start');
// ou
$('#id').css('justifySelf', 'start');

Lire la valeur calculée de la propriété justify-self avec JQuery.

JQuery
let value = $('#id').css('justify-self');

Autres exemples de code.

D'autres exemples de code Javascript et JQuery sont consultables sur la page Javascript et CSS.

Testez vous-même.

Les boutons ci-dessous appliquent une valeur à la propriété justify-self et affichent ensuite soit la valeur telle qu'elle a été appliquée (premier bouton), soit la valeur calculée (deuxième bouton). Dans le cas de justify-self il n'y aura pas de différences entre ces affichages.

Exemple interactif avec la propriété justify-self.

Le simulateur ci-dessous ajuste la propriété justify-self des blocs n° 2 et 5 (ceux avec un fond bleu). Vous pouvez également choisir la direction d'écriture du conteneur.

L'élément numéro 5 est écrit de droite à gauche. Cela influencera sa position pour les valeurs self-start et self-end de justify-self.

Les valeurs faisant référence à la ligne de base du texte (baseline)ne peuvent pas remplir leur rôle sur du texte écrit horizontalement.


direction (pour le conteneur) :

justify-self :

1
2
3
4
5
direction:rtl
6

Compatibilité des navigateurs avec justify-self.

La propriété justify-self est bien reconnue par tous les navigateurs actuels.

Colonne 1
Support de la propriété justify-self dans le cas d'un élément de grille.

Remarques :

(1) Utilisez la propriété non-standard -ms-grid-column-align.

1
Propriété
justify-self
(grille)
Estimation de la prise en charge globale.
95%

Navigateurs sur ordinateurs :

Navigateurs sur mobiles :

Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Opéra

Firefox pour Androïd

Samsung Internet

Chrome

Edge

Firefox

Androïd Brower

Chrome pour Androïd

Baidu Browser

QQ Browser

Safari

Safari sur IOS

UC Browser pour Androïd

Opéra mini

Histoire de la propriété justify-self.

  • Module CSS - Mise en page par grille - Niveau 1

    Cette spécification définit comment réaliser des mises en page sous frome de grilles, composées de lignes et de colonnes, avec une structure du document qui reste très simple : un conteneur et autant d'éléments que de cellules. Beaucoup plus simple en tout cas que les tableaux.
    Chacune des cellules peut être alignée horizontalement dans le largeur des colonnes, ou verticalement dans la hauteur des lignes. Elles peuvent aussi être réparties ou agrandies pour couvrir toute la place disponible. Le contenu de chacune des cellules peut être aligné horizontalement et verticalement.
    Une nouvelle unité (fr) est disponible pour dimensionner les colonnes ou les lignes.

    Concernant justify-self. Première définition de la propriété align-self.
    WD
    07 Avril 2011
    Document de travail.
    CR
    29 Septembre 2016
    Candidat à la recommandation.
    PR
    REC
  • Module CSS - Mise en page par grille - Niveau 2

    Ce niveau 2 de la spécification sur les grilles introduit la notion de sous-grille. Il s'agit de grille imbriquées dans une autre, avec conservation des alignement de colonnes et/ou de lignes.

    Concernant justify-self. Pas de changement concernant la propriété align-self.
    WD
    06 Février 2018
    Document de travail.
    CR
    18 Août 2020
    Candidat à la recommandation.
    PR
    REC
  • Module CSS - Alignement des blocs - Niveau 3

    Concernant justify-self. La description de la propriété align-self est transférée dans ce module de la spécification.
    WD
    12 Juin 2012
    Document de travail.
    CR
    PR
    REC

Voir aussi, à propos des alignements.

Les spécifications CSS publiées par le W3C sont organisées en modules. justify-self fait partie du module CSS module CSS - Alignement des blocs. Les définitions suivantes sont également décrites dans ce module.

Propriétés :

align-content
Gère la disposition des éléments dans un flex-box ou une grille, suivant l'axe secondaire (le plus souvent vertical).
align-items
Gère la disposition des éléments dans une grille suivant l'axe secondaire (vertical le plus souvent).
align-self
Gère la disposition de l'un des éléments dans une grille suivant l'axe secondaire, qui est le plus souvent vertical.
column-gap
Définit l'espacement entre les colonnes.
gap
Définit les espacements entre les lignes et entre les colonnes dans le contexte d'une grille, d'un flex-box, ou d'une mise en page sur plusieurs colonnes)
grid-column-gap
Spécifie l'espacement entre les colonnes dans une grille.
grid-gap
Ajuste l'espacement des lignes et des colonnes dans le contexte d'une grille.
grid-row-gap
Spécifie l'espacement entre les lignes dans une grille.
justify-content
Définit le positionnement dans un flex-box ou une grille suivant l'axe principal (le plus souvent horizontal).
justify-items
Gère l'alignement des éléments dans un conteneur grille suivant l'axe principal, qui est le plus souvent horizontal.
Justify-self
Définit le positionnement d'un élément particulier dans un flex-box ou une grille suivant l'axe principal, qui souvent horizontal.
place-content
Gère la disposition des éléments dans un flex-box ou une grille suivant l'axe principal et l'axe secondaire.
place-items
Définit le placement des éléments dans leur cellule (dans le contexte d'une grille) suivant les deux axes (principal et secondaire).
place-self
Définit l'alignement d'un élément aussi bien suivant l'axe principal et suivant l'axe secondaire.
row-gap
Définit l'espace entre les lignes d'une grille.