Nouvelles (et anciennes) unités CSS dont vous avez à peine entendu parler

JavaScript s'est développé très rapidement ces derniers temps, mais les langages d'aide aux développeurs Web ne sont pas immobiles.

CSS évolue également, et bien que Houdini puisse bientôt faire une percée dans le développement CSS, son utilisation généralisée, malheureusement, est encore loin. Ainsi, comme précédemment, des réunions d'experts sont convoquées au cours desquelles de nouvelles spécifications sont établies, etc. Les progrès ne sont pas aussi rapides que TC39, mais c'est mieux que rien.

Dans cet article, nous parlerons des fonctionnalités CSS dont vous n'avez probablement pas entendu parler, et si vous en avez entendu parler, nous ne les utiliserons probablement pas - à propos des unités. Et non, nous ne parlons pas des «anciennes» unités de vw et vh (même si je dois encore les expliquer à des gens qui ne sont pas très bons en CSS).



Vous trouverez ci-dessous les nouvelles unités CSS qui seront répertoriées dans le module de valeurs et d'unités CSS niveau 4 .

lh et rlh


Commençons tout de suite avec la partie amusante. lh est la hauteur de ligne actuelle , ce qui peut être très utile lors du calcul de la hauteur du texte. Malheureusement, aucun navigateur ne le prend en charge.
rlh , à son tour, par analogie avec rem pour em correspond à la hauteur de ligne de l'élément racine.



vi et vb


Voici une autre innovation intéressante qui, par analogie avec vw et vh équivaut à un pourcentage de la taille de la fenêtre. À savoir:

  • vi équivaut à 1% de la taille de la fenêtre d'affichage dans le sens de l'écriture de la ligne;
  • vb équivaut à 1% de la taille de la fenêtre dans la direction de l'écriture de la ligne.

Quels sont ces axes en ligne et blocs ? Dans le cas des langues à écriture horizontale, par exemple avec l'anglais ou l'arabe (où elles écrivent de droite à gauche), ce sont les axes horizontal et vertical, respectivement, et les unités sont les équivalents de vw et vh .

Dans le cas des langues à écriture verticale (par exemple en japonais), ces axes sont interchangés .

Ces différences ont été prises en compte en CSS dès le début (par exemple, dans la propriété d' display ), et maintenant elles sont systématiquement utilisées pour créer un nombre croissant de spécifications CSS.

Il est dommage que dans ce cas, pas un seul navigateur ne supporte encore ces unités.

ic


Depuis que nous avons commencé à parler d'internationalisation, il convient de passer à l'unité ic , l'analogue oriental de l'unité ch , ce qui signifie la taille du caractère 0. ic , à son tour, signifie la taille de l'idéogramme CJK (chinois, japonais et coréen) 水 ("eau", U + 6C34), et au sens large, cette unité peut être comprise comme le nombre d'idéogrammes.

Et qu'est-ce que la «taille»? C'est ce qu'on appelle la «taille totale occupée» ( mesure avancée ): si nous parlons d'écriture horizontale, alors la taille est la largeur totale occupée, et si nous parlons d'écriture verticale, alors la hauteur. Veuillez noter que ce principe s'applique également à l'unité ch !

Et encore une fois, aucun support dans les navigateurs.

cap


Cette unité correspond à ce que l'on appelle la hauteur de la casquette ou la hauteur de la lettre majuscule. Dans la spécification, la hauteur de casquette est approximativement égale à la hauteur de la lettre majuscule de l'alphabet latin. Il existe un algorithme pour calculer cette valeur, y compris pour les polices qui n'incluent pas les lettres de l'alphabet latin, mais je n'entrerai pas dans les détails.

Cela est dû au fait que cet appareil ne peut pas encore être utilisé avec un navigateur.

Parlons maintenant d'unités de mesure plus spécifiques ...


Examinons l'ancienne spécification (niveau 3) - même si elle doit être largement utilisée et maintenue, tout le monde ne connaît pas certains de ses composants.

turn et unités connexes


Cette unité est un peu mieux connue que les autres, alors commençons par elle.

Nous avons utilisé deg pour faire pivoter des objets avec transform , non? Un turn est à 360 deg . Rien de compliqué. Ceci est très utile pour les animations (en particulier pour les rotations à 360 degrés) et les valeurs de progression calculées en JavaScript.

Mais ce n’est pas tout! La spécification indique également les unités grad et rad , correspondant à grad et radians.

Toutes les unités spécifiées sont prises en charge dans tous les navigateurs (dans IE à partir de la version 9), bien que je ne vois pas de véritable application pour grad, ici les radians peuvent être directement utilisés pour les fonctions JavaScript trigonométriques.

Q


Étant donné que cette unité fait référence au niveau 3, elle devrait être prise en charge par tous les navigateurs. En fait, il n'est pris en charge dans Firefox que depuis la version 49 relativement récente (à partir de septembre 2016).

Alors qu'est-ce que Q ? C'est juste 0,25 mm - un quart de millimètre.

Pourquoi cette unité était-elle nécessaire? Il s'avère qu'il est utilisé dans l'impression. Au Japon Et là, apparemment, ni les points ni aucune autre unité du système classique ne sont utilisés du tout (et cela, il me semble, est merveilleux).

Rapport d'aspect


Bien que ce ne soit pas tout à fait une unité de mesure, elle doit toujours avoir une valeur exacte et est considérée comme une mesure. Il est exprimé sous la forme de deux entiers positifs séparés par / (une barre oblique, qui est appelée Solidus en Unicode).

Où puis-je l'appliquer? Naturellement, dans les requêtes médiatiques! Un exemple:

 @media screen and (min-aspect-ratio: 16/10) { /* something for wide screens */ } 

Bonne nouvelle: il est supporté par tous les navigateurs! Hourra!

Hz et kHz


Qu'est-ce que c'est? Nous sommes allés à l'école que ce sont des unités de fréquence . Qu'est-ce que CSS a à voir avec ça?

C'est vrai, ce sont des unités de fréquence, et au moment de la rédaction, il n'y a pas de propriétés CSS qui nécessitent une fréquence. Néanmoins, les unités de fréquence ont été déterminées. Pourquoi?

Cela a probablement été fait dans le cas où une spécification de module pour la synthèse vocale ou une autre sortie sonore apparaît. A cette époque, un module de son CSS était en cours de développement dans lequel les propriétés liées à la fréquence étaient déterminées, mais ce module n'a jamais vu le jour.

Ce module a été remplacé par un nouveau. Il est compatible avec le langage de balisage de synthèse vocale ( SSML, Speech Markup Language) et s'appelle CSS Speech . Il est au stade de développement et définit à nouveau les propriétés pour lesquelles les fréquences sont nécessaires (par exemple, voice-pitch ), mais n'est pas encore prête.

Il est facile de deviner qu'aucun navigateur ne prend en charge les unités de fréquence - elles ne peuvent toujours pas être utilisées.

Plans futurs


Cher lecteur, en conclusion, je voudrais vous demander si vous avez déjà utilisé ou alliez utiliser les unités de mesure ci-dessus? Peut-être allez-vous le faire maintenant?


Jetez un œil à VPS.today , un site pour trouver des serveurs virtuels. 1500 tarifs de 130 hébergeurs, une interface pratique et un grand nombre de critères pour trouver le meilleur serveur virtuel.

Source: https://habr.com/ru/post/fr421709/


All Articles