align-self
        
        
          
                Baseline
                
                  Widely available
                
                 *
              
        
        
        
          
                
              
                
              
                
              
        
        
      
      Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2015.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
La propriété CSS align-self permet d'aligner les objets flexibles d'une ligne flexible ou d'une grille en surchargeant la valeur donnée par align-items.
Si l'un des objet a une marge automatique (auto) pour l'axe perpendiculaire à l'axe principal, align-self sera ignoré. Lorsque le conteneur est une grille, align-self permet d'aligner l'élément au sein de la zone de grille. Si le conteneur est une boîte flexible, l'alignement se fait selon l'axe secondaire.
Exemple interactif
align-self: stretch;
align-self: center;
align-self: start;
align-self: end;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">One</div>
<div>Two</div>
<div>Three</div>
</div>
</section>
.example-container {
  border: 1px solid #c5c5c5;
  display: grid;
  width: 200px;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 80px;
  grid-gap: 10px;
}
.example-container > div {
  background-color: rgba(0, 0, 255, 0.2);
  border: 3px solid blue;
}
Cette propriété ne s'applique pas aux boîtes qui sont des blocs ou aux cellules d'un tableau.
Syntaxe
/* Valeurs avec un mot-clé */
align-self: auto;
align-self: normal;
/* Alignement géométrique */
/* align-self ne gère pas les valeurs left et right */
align-self: center; /* Les éléments sont alignés sur le centre */
align-self: start; /* Les éléments sont alignés au début de l'axe */
align-self: end; /* Les éléments sont alignés à la fin de l'axe */
align-self: self-start; /* Les éléments sont alignés par rapport à leur début */
align-self: self-end; /* Les éléments sont alignés par rapport à leur fin */
align-self: flex-start; /* Les éléments flexibles sont alignés au début */
align-self: flex-end; /* Les éléments flexibles sont alignés à la fin */
/* Alignement selon la ligne de base */
align-self: baseline;
align-self: first baseline;
align-self: last baseline;
align-self: stretch; /* Les objets dimensionnés avec 'auto' sont étirés pour remplir le conteneur */
/* Alignement avec gestion du dépassement */
align-self: safe center;
align-self: unsafe center;
/* Valeurs globales */
align-self: inherit;
align-self: initial;
align-self: unset;
Valeurs
- auto
- 
La valeur est calculée par rapport à celle de align-items.
- normal
- 
L'effet de ce mot-clé dépend du mode de disposition utilisé : - Pour une disposition absolue, ce mot-clé est synonyme de startpour les boîtes remplacées positionnées de façon absolue, il est synonyme de stretch pour les autres boîtes positionnées de façon absolue.
- Pour une disposition absolue et des positions statiques, ce mot-clé est synonyme de stretch.
- Pour les éléments flexibles, ce mot-clé est synonyme de stretch.
- Pour les éléments positionnés sur une grille, ce mot-clé est synonyme de stretch, sauf pour les boîtes qui ont un ratio d'aspec ou des dimensions intrinsèques, dans ce cas, cette valeur se comporte commestart.
- Cette propriété ne s'applique pas aux boîtes qui sont des blocs ou aux cellules d'un tableau.
 
- Pour une disposition absolue, ce mot-clé est synonyme de 
- self-start
- 
Les éléments sont alignés dans l'axe perpendiculaire à l'axe principal pour que le bord correspondant soit aligné avec le bord du conteneur au début de l'axe. 
- self-end
- 
Les éléments sont alignés dans l'axe perpendiculaire à l'axe principal pour que le bord correspondant soit aligné avec le bord du conteneur à la fin de l'axe. 
- flex-start
- 
Le bord de l'élément flexible, au début de l'axe perpendiculaire à l'axe principal, est aligné avec le bord au début de l'axe perpendiculaire pour la ligne flexible. 
- flex-end
- 
Le bord de l'élément flexible, à la fin de l'axe perpendiculaire à l'axe principal, est aligné avec le bord à la fin de l'axe perpendiculaire pour la ligne flexible. 
- center
- 
La boîte définies par les marges est centrée sur la ligne de l'axe perpendiculaire à l'axe principal de la ligne. Si l'élément est plus grand que le conteneur dans ce sens, il dépassera également de chaque côté. 
- baseline first baseline- last baseline
- 
Indique l'alignement par rapport à la ligne de base. Si besoin, la valeur first baselineest remplacée parstartetlast baselineest remplacée parend.
- stretch
- 
Si la somme des dimensions des éléments sur l'axe perpendiculaire à l'axe principal est inférieure à la dimension du conteneur et que l'élément est dimensionné automatiquement, celui-ci est agrandi (tout en respectant les éventuelles contraintes dictées par max-height/max-widthou autres) afin que l'ensemble des éléments remplissent le conteneur sur cet axe.
- safe
- 
Si la taille d'un élément dépasse du conteneur avec l'alignement fourni par la valeur, l'élément sera en réalité aligné comme si la valeur startavait été utilisée.
- unsafe
- 
Quelle que soit les tailles relatives des objets par rapport au conteneur, la valeur indiquant l'alignement sera respectée. 
Définition formelle
| Valeur initiale | auto | 
|---|---|
| Applicabilité | flex items, grid items, and absolutely-positioned boxes | 
| Héritée | non | 
| Valeur calculée | autosera calculé commeautopour les éléments positionnés de façon absolue, sera calculé commealign-itemssur le parent (excepté les mots-clés historiques utilisés) de toutes les autres boîtes ou commestartsi la boîte n'a pas de parent. Son comportement dépend du modèle de disposition, décrit dansjustify-self, sinon ce sera la valeur spécifiée. | 
| Type d'animation | discrète | 
Syntaxe formelle
align-self =
auto |
normal |
stretch |
<baseline-position> |
<overflow-position>? <self-position> |
anchor-center |
dialog
<baseline-position> =
[ first | last ]? &&
baseline
<overflow-position> =
unsafe |
safe
<self-position> =
center |
start |
end |
self-start |
self-end |
flex-start |
flex-end
Exemples
>CSS
.flex-container {
  height: 250px;
  display: flex;
}
.element-flex {
  background: palegreen;
  width: 100px;
  padding: 5px;
  margin: 5px;
  line-height: 50px;
  font-size: 2em;
}
.center {
  -webkit-align-self: center;
  align-self: center;
}
.baseline {
  -webkit-align-self: baseline;
  align-self: baseline;
}
.stretch {
  -webkit-align-self: stretch;
  align-self: stretch;
}
HTML
<div class="flex-container">
  <p class="element-flex center">Milieu</p>
  <p class="element-flex baseline">Base</p>
  <p class="element-flex stretch">Étiré</p>
</div>
Résultat
Spécifications
| Specification | 
|---|
| CSS Box Alignment Module Level 3> # align-self-property> | 
| CSS Flexible Box Layout Module Level 1> # align-items-property> | 
Compatibilité des navigateurs
Chargement…
Voir aussi
- Utiliser les boîtes flexibles CSS
- Guide sur les boîtes flexibles : Les concepts de bases
- Guide sur les boîtes flexibles : Aligner des objets dans un conteneur flexible
- Guide sur les grilles : Aligner des objets dans une grille
- Le module de spécification CSS Box Alignment
- La propriété align-items