Top - Propriété CSS
Cette page concerne aussi les propriété(s) physique(s) :
rightbottomleftinsettop, right, bottom et left.Et les propriétés logiques :
inset-block-startinset-inline-endinset-block-endinset-inline-startinset-blockinset-block-start et inset-block-end.inset-inlineinset-inline-start et inset-inline-end.Résumé des caractéristiques de la propriété top
autoautotop passe progressivement d'une valeur à une autre.Single : valeur unique (l'ordre n'intervient pas).Description de top, right, bottom et left.
Ces quatre propriétés définissent l'emplacement d'un élément dans le cas où cet élément est positionné.
Un élément est dit "positionné" lorsqu'il est sorti de la séquence normale d'affichage, c'est à dire lorsque sa propriété position
a une valeur différente de static (voir la propriété position).
position: static :top, right, bottom et left n'ont aucun effet.
La position de l'élément est déterminée par son ordre d'apparition dans le code et par ses marges.
position: absolute :position: fixed :position: relative :position: sticky :relative tant que l'élément
est dans le viewport et comme si la position était fixed quand l'élément atteint le bord du viewport pendant un défilement de la page.
Autrement dit, les éléments sticky restent toujours visibles sur l'écran.
top, right, bottom et left définissent l'espace entre le bord de l'élément de référence ou du viewport)
et la marge correspondante de l'élément positionné, comme le montre le schéma ci-dessous :
Dernier élément positionné ou viewport
Les deux propriétés qui agissent dans la même direction (left et right par exemple)
peuvent donc entrer en conflit. Voici comment celui-ci est résolu :
- Si
leftetrightsont fixées et que la largeur de l'élément (width) estauto, l'élément est dimensionné pour satisfaire à la fois les valeurs données àleftet àright. - Si
leftetrightsont fixées et que la largeur de l'élément est fixée également, la propriétérightest ignorée.
On trouve une règle comparable dans le sens vertical :
- Si
topetbottomsont fixées et que la hauteur de l'élément estauto, l'élément est dimensionné pour satisfaire les valeurs données àtopet àbottom. - Si
topetbottomsont fixées et que la hauteur de l'élément est également imposée par la propriétéheight, la valeur debottomest ignorée.
La propriété résumée inset.
Une propriété permettant de définir en une seule écriture les quatre valeurs de positionnement a été définie : inset.
Sa dénomination ne correspondant pas aux habitudes de CSS, le nom d'une propriété résumée étant généralement la racine du nom des propriétés regroupées.
Margin par exemple est la propriété résumée pour margin-top, margin-right, margin-bottom
et margin-left.
Les propriétés top, right, bottom et left n'ayant aucune partie commune dans leur nom, la règle habituelle
n'a pas pu être appliquée.
Mais ce qui est encore plus bizarre c'est que des propriétés dont le nom commence par inset ont été également définies mais ce sont des propriétés
logiques, c'est à dire qui agissent en fonction du mode d'écriture de la langue (voir ci-dessous). Reportez-vous à la description de la propriété inset
pour plus de détails.
Prise en charge de la langue.
Lorsque le positionnement de l'élément doit se faire en fonction de la langue, on utilisera plutôt les propriétés logiques suivantes :
inset-block-start: équivalent àtoppour les langues latines.inset-inline-start: équivalent àleftpour les langues latines.inset-block-end: équivalent àbottompour les langues latines.inset-inline-end: équivalent àrightpour les langues latines.
Et les deux propriétés résumées suivantes :
inset-block: propriété résumée pourinset-block-startetinset-block-end.inset-inline: propriété résumée pourinset-inline-startetinset-inline-end.
Attention ! Il existe également une propriété inset mais qui n'est pas la propriété résumée de quatre ci-dessus car il s'agit d'une propriété physique,
et non pas logique.
topleftrightbottomSyntaxes pour top,right,bottom et left.
- top: auto; right: auto; bottom: auto; left: auto;
Le navigateur détermine lui-même l'emplacement de l'élément. En général, l'élément reste à la position qu'il aurait eue en mode
static. - top: 10px; right: 10px; bottom: 10px; left: 10px;
L'emplacement de l'élément est fixé en fonction des valeurs indiquées. Il n'est pas du tout indispensable de définir une valeur pour les quatre propriétés.
La valeur peut être positive ou négative, dans la mesure où cela ne conduit pas à une impossibilité. Elle doit être suivie d'une unité de dimension (voir les unités de dimension).
Les pourcentages sont évalués par rapport aux dimensions du bloc parent. Les pourcentages sur
leftetrightsont évalués par rapport à sa largeur, ceux surtopetbottompar rapport à sa hauteur. - top: initial; (
auto) top: inherit; top: revert; top: revertLayer; top: unset;right: initial; (auto) right: inherit; right: revert; right: revertLayer; right: unset;bottom: initial; (auto) bottom: inherit; bottom: revert; bottom: revertLayer; bottom: unset;left: initial; (auto) left: inherit; left: revert; left: revertLayer; left: unset;Pour plus d'informations, reportez-vous aux pages de présentation de ces différentes valeurs :
initial,inherit,revert,revert-layer,unset.
Animation de top, right, bottom et left.
Ces quatre propriétés sont fréquemment utilisées dans des animations. Celles-ci sont très fluides (animation d'une dimension en pixels).
Sur notre exemple, l'élément est positionné en relative, et les propriété left et top sont animées.
Simulateur avec ces quatre propriétés.
Le simulateur agit sur l'élément bleu dont la position a été définie sur absolute et ses dimensions (largeur et hauteur) sont auto.
Son parent a une position relative sans indications particulière de positionnement.
En modifiant les valeurs pour les propriétés de positionnement ci-dessous, vous verrez l'élément se déplacer sur l'écran, et éventuellement changer de dimensions.
Il peut bien sûr sembler quitter son parent mais celui-ci reste toujours la référence pour le positionnement.
relative.
position:absolute(pour simulateur).
Compatibilité.
Les quatre propriétés physiques sont correctement traitées par tous les navigateurs. Leurs équivalents logiques ne sont pas reconnus par , mais ce navigateur n'est plus utilisé.
top, right, bottom et left.inset qui définit la position pour les éléments positionné (dont la propriété position est différente de statique).inset-block-start, inset-block-end, inset-inline-start et inset-inline-end.top bottom
right leftinsetinset...Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

UC Browser pour Androïd

Opéra Mobile

QQ Browser

Baidu Browser

Samsung Internet

Safari

Safari sur IOS

Chrome

Edge

Firefox

Opéra

Chrome pour Androïd

Androïd Brower

Firefox pour Androïd

KaiOS Browser

Opéra mini
Historique des propriétés top, right, bottom et left.
-
CSS 2.1 - Spécification concernant les feuilles de styles en cascade - Révision 1
Ce niveau 2 de la spécification décrit le mécanisme des styles en cascade de CSS. Ce langage est utilisé pour formater les documents HTML ou XML. Il prend en charge les feuilles de style spécifiques aux médias afin que les auteurs puissent adapter la présentation de leurs documents aux navigateurs visuels, aux dispositifs auditifs, aux imprimantes, aux appareils braille, aux appareils portables, etc.
Concernanttop. Introduction de la possibilité de positionner un élément (propriétéposition) et des propriétés définissant sa position :top,right,bottometleft.04 Novembre 1997Document de travail.24 Mars 1998Proposé à la recommandation.11 Mai 1998Recommandation. -
Module CSS - Propriétés et valeurs logiques - Niveau 1
Concernanttop. Introduction des propriétés logiquesinset...pour positionner un élément en prenant en compte le mode d'écriture de la langue utilisée.18 Mai 2017Document de travail. -
Module CSS - Éléments positionnés - Niveau 3
Concernanttop. Pas de changements concernant ces propriétés.07 Février 2012Document de travail.
Voir aussi, à propos du positionnement.
Les propriétés en rapport avec la positionnement (différent de static) sont regroupées dans le module Module CSS - Éléments positionnés.
Les propriétés suivantes sont également décrites dans ce même module :
Propriétés :
top, right, bottom et left.inset-block-start et inset-block-end.inset-inline-start et inset-inline-end.


