De nouvelles unités CSS prenant en compte les fenêtres d'affichage sur mobile, avec des barres d'outils dynamiques.
Fenêtre d'affichage et ses unités
Pour dimensionner un élément aussi haut que la fenêtre d'affichage, vous pouvez utiliser les unités vw
et vh
.
vw
= 1% de la largeur de la fenêtre d'affichage.vh
= 1% de la hauteur de la fenêtre d'affichage.
Attribuez à un élément une largeur de 100vw
et une hauteur de 100vh
, et il couvrira l'intégralité de la fenêtre d'affichage.
Les unités vw
et vh
sont apparues dans des navigateurs avec ces unités supplémentaires
vi
= 1% de la taille de l'axe intégré de la fenêtre d'affichage.vb
= 1% de la taille de l'axe de bloc de la fenêtre d'affichage.vmin
=vw
ouvh
, selon la valeur la plus faible.vmax
=vw
ouvh
, la valeur la plus élevée.
Ces unités sont compatibles avec les navigateurs.
Navigateurs pris en charge
- 20
- 12
- 19
- 6
La nécessité de nouvelles unités de fenêtre d'affichage
Les blocs existants fonctionnent bien sur les ordinateurs, mais la situation est différente sur les appareils mobiles. La taille de la fenêtre d'affichage est alors influencée par la présence ou l'absence de barres d'outils dynamiques. Il s'agit d'interfaces utilisateur telles que les barres d'adresse et les barres d'onglets.
Bien que la taille de la fenêtre d'affichage puisse changer, les tailles vw
et vh
ne le font pas. Par conséquent, les éléments dont la hauteur est de 100vh
pixels disparaîtront de la fenêtre d'affichage.
Ces barres d'outils dynamiques se retirent lorsque vous faites défiler l'écran vers le bas. Dans cet état, les éléments dont la hauteur est de 100vh
couvrent l'ensemble de la fenêtre d'affichage.
Pour résoudre ce problème, les différents états de la fenêtre d'affichage ont été spécifiés au sein du groupe de travail CSS.
- Grande fenêtre d'affichage: taille de la fenêtre d'affichage en supposant que toute interface UA qui est développée et retirée de manière dynamique pour être retirée.
- Petite fenêtre d'affichage: taille de la fenêtre d'affichage en supposant que toute interface UA qui est développée et rétractée de manière dynamique pour être développée.
Des unités sont également attribuées aux nouvelles fenêtres d'affichage:
- Les unités représentant la grande fenêtre d'affichage comportent le préfixe
lv
. Les unités sontlvw
,lvh
,lvi
,lvb
,lvmin
etlvmax
. - Les unités représentant la petite fenêtre d'affichage comportent le préfixe
sv
. Les unités sontsvw
,svh
,svi
,svb
,svmin
etsvmax
.
La taille de ces unités de pourcentage de fenêtre d'affichage est fixe (et donc stable), sauf si la fenêtre d'affichage elle-même est redimensionnée.
En plus des fenêtres d'affichage de petite et grande taille, il existe une fenêtre d'affichage dynamique qui prend en compte de façon dynamique l'UI d'UA:
- Lorsque les barres d'outils dynamiques sont développées, la taille de la fenêtre d'affichage dynamique est égale à la taille de la petite fenêtre d'affichage.
- Lorsque les barres d'outils dynamiques sont retirées, la fenêtre d'affichage dynamique est égale à la taille de la grande fenêtre d'affichage.
Les unités accompagnées portent le préfixe dv
: dvw
, dvh
, dvi
, dvb
, dvmin
et dvmax
. Leurs tailles sont limitées entre leurs équivalents lv*
et sv*
.
Ces unités sont disponibles dans Chrome 108, rejoignant Safari et Firefox, qui sont déjà compatibles.
Navigateurs pris en charge
- 108
- 108
- 101
- 15,4
Mises en garde
Voici quelques mises en garde concernant les unités de fenêtre d'affichage:
Aucune des unités de la fenêtre d'affichage ne tient compte de la taille des barres de défilement. Sur les systèmes sur lesquels les barres de défilement classiques sont activées, un élément dont la taille est
100vw
sera donc un peu trop large. conformément aux spécifications.Les valeurs de la fenêtre d'affichage dynamique ne sont pas mises à jour à 60 ips. Dans tous les navigateurs, la mise à jour est limitée à mesure que l'UI d'UA se développe ou se rétracte. Certains navigateurs rejettent même complètement les mises à jour en fonction du geste utilisé (un défilement lent ou un balayage).
Le clavier à l'écran (également appelé clavier virtuel) n'est pas considéré comme faisant partie de l'interface utilisateur d'UA. Par conséquent, cela n'affecte pas la taille des unités de la fenêtre d'affichage. Dans Chrome, vous pouvez activer un comportement dans lequel la présence du clavier virtuel affecte les unités de la fenêtre d'affichage.
Ressources supplémentaires
Pour en savoir plus sur les fenêtres d'affichage et ces unités, consultez cet épisode de HTTP 203. Dans celle-ci, Bramus explique à Jake tout ce qu'il y a à savoir sur les différentes fenêtres d'affichage et comment exactement les tailles de ces unités sont déterminées.
Documentation supplémentaire: