Text-transform - Propriété CSS
Résumé des caractéristiques de la propriété text-transform
none | capitalize | uppercase | lowercase | full-width | full-size-kana | math-autononetext-transform passe d'une valeur à l'autre sans transition.Per grammar : sérialisation dans l'ordre de la syntaxe.Schéma de la syntaxe de text-transform.
text-transform.Cliquez sur les liens du schéma pour plus de précisons sur les valeurs.
Description de la propriété text-transform.
La propriété text-transform force la casse des caractères, c'est à dire provoque un affichage
en majuscules ou en minuscules, quelque soit la façon dont le texte est écrit dans le document (le fichier HTML).
En principe, les opérations de copier-coller récupèrent le texte tel qu'il est écrit dans le document original,
en considérant que text-transform n'agit que sur la mise en forme, et ne modifie pas le texte lui-même.
Cependant certains navigateurs, comme Chrome effectuent le copier-coller avec le texte mis en forme.
Voir aussi la propriété font-variant-caps qui offre des fonctionnalités complémentaires, mais dépendantes des
possibilités de la police de caractères utilisée.
Exemples des possibilités
de text-transform :
Texte normalTout en majuscules
Tout en minuscules
Initiales en majuscules
Exemples des possibilités
de font-variant-caps :
Texte normalPetites capitales
Tout en petites capitales
Minuscules grande taille
Lettres capitales et lettres majuscules.
Les puristes distinguent les capitales et les majuscules, en considérant que les majuscules sont imposées par les règles
orthographiques de la langue (en français la première lettre d'une phrase est en majuscule, de même que l'initiale des noms
propres), tandis que les capitales sont un choix typographique qui n'obéit à aucune règle générale.
Suivant cette distinction, les majuscules doivent obligatoirement figurer dans le document original (html).
Seules les capitales peuvent être gérées par text-transform.
Particularité des langues.
Le changement de casse comporte de nombreuses particularités dépendantes de la langue du texte. Il est donc très important que le document (HTML ou autre)
comporte l'information de la langue utilisée. En HTML, ce sera l'attribut lang.
Voici quelques unes des particularités relatives au changement de casse, mais il y en a beaucoup d'autres :
- En langue allemande, le caractère minuscule unique
ßdevient deux caractères en majuscule :SS. - En néerlandais, les deux lettres
ijsont considérées comme un seul caractère. Si elles se trouvent au début d'un mot,text-transform:capitalizeles passe toutes les deux en majuscules. - Dans la plupart des langues latines, les caractères minuscules accentués ont leur équivalent en majuscule, également accentués. La langue grecque a des règles plus compliquées
Valeurs pour text-transform.
- text-transform: none;
Valeur par défaut. La casse des caractères n'est pas modifiée : ils s'affichent tels qu'ils sont écrits dans le code HTML.
ExeMple pOur teXt-transFormTexte d'origineExeMple pOur teXt-transFormtext-transform:none; - text-transform: uppercase;
Tous les caractères sont affichés en majuscules.
Échantillon
â é è ê ï æ œ ç ßTexte d'origineÉchantillon
â é è ê ï æ œ ç ßtext-transform:uppercase; - text-transform: lowercase;
Tous les caractères sont affichés en minuscules.
Échantillon
Â Ê Î Ô Û Æ Œ ÇTexte d'origineÉchantillon
Â Ê Î Ô Û Æ Œ Çtext-transform:lowercase; - text-transform: capitalize;
Le premier caractère de chaque mot est converti en majuscule, les autres caractères sont inchangés.
On note sur l'exemple ci-contre que le caractère qui suit un tiret n'est pas en majuscule : le tiret n'est pas considéré comme un séparateur de mots. Néanmoins, ceci peut être différent d'un navigateur à l'autre.
Les balises inline telles que a, abbr, etc. ne doivent pas être considérées comme un début ou une fin de mot.
ExeMple pOur teXt-transFormTexte d'origineExeMple pOur teXt-transFormtext-transform:capitalize; - text-transform: full-width;
Les caractères sont remplacés par leur forme "pleine largeur". Si cette forme n'existe pas, le caractère est inchangé. Appliquée sur des caractères latins,
full-widtha pour effet d'aligner (à peu près) les caractères latins sur les idéogrammes CJK.Cette valeur est cumulable avec
capitalize,uppercaseetlowercase. Le navigateur traite en premier les changements de casse, quelque soit l'ordre dans lequel les valeurs sont indiquées.LATIN
한국어 문자Texte d'origineLATIN
한국어 문자text-transform:full-width; - text-transform: full-size-kana;
Les caractères kana minuscules sont remplacés par leur forme "pleine largeur". Cette valeur est généralement utilisée pour les notations du type "Ruby" pour améliorer la lisibilité des petits caractères généralement employés dans les annotation Ruby. Pour avoir plus d'infos sur les annotations Ruby.
Cette valeur est cumulable avec
capitalize,uppercaseetlowercase. Le navigateur traite en premier les changements de casse, quelque soit l'ordre dans lequel les valeurs sont indiquées.河内Texte d'origine河内text-transform:full-size-kana; - text-transform: math-auto; ⚠
La valeur
math-autoest encore peu reconnue par les navigateurs. Elle s'applique aux formules mathématiques décrites en MathML. Pour l'instant elle passe en italiques les identifiants (balises mi) avec une seule lettre (généralement les variables).Remarque 1 : Il ne s'agit pas du même italique que celui qui est obtenu avec la propriété
font-style, avectext-transformles caractères sont remplacés par leur équivalent en italique (caractères depuis le code hexadécimal1D3F3jusqu'au code1D345).Remarque 2 : dans les formules mathématiques,
text-transformest déjà positionné surmath-auto. Cependanttext-transform:math-autopeut cependant être utile si l'option a été désactivée précédemment.Sur l'exemple ci-dessous on voit que le mot
cosn'a pas été changé, alors quexa été changé en italique.text-transform:none;text-transform:math-auto; - text-transform: initial; (
none) text-transform: inherit; text-transform: revert; text-transform: revertLayer; text-transform: unset;Les valeurs communes sont présentées sur ces pages :
initial,inherit,revert,revert-layer,unset.
Exemples d'utilisation de la propriété text-transform.
En typographie il est fréquent d'inscrire la première ligne des paragraphes en majuscules, particulièrement dans le cas d'utilisation de lettrines. Il n'est pas possible de réaliser cela dans le code source en inscrivant le texte directement en majuscules, car on ne connaît pas à priori la longueur de la ligne.
On parle de lettrine lorsque la première lettre d'un texte ou d'un paragraphe est dans une taille de caractère nettement supérieure à celle du texte.
Exemple d'animation de text-transform.
Comme toutes les propriétés qui attendent des valeurs non numériques, text-transform passe d'une valeur à l'autre sans transition, de façon brutale.
Pour inclure toutes les valeurs possibles dans une animation, il faut les énumérer une par une, comme nous l'avons fait dans cet exemple.
Exemple interactif avec la propriété text-transform.
(1) Pangramme anonyme.
Compatibilité des navigateurs avec text-transform.
text-transform qui permet de changer la casse d'un texte.full-width pour la propriété text-transform.full-width-kana pour la propriété text-transform.math-auto pour la propriété text-transform.Remarques :
(1) La propriété text-transform ne fonctionne pas avec le pseudo élément ::first-line.
text-transformfull-widthfull-size-kanamath-autoaccentuées
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :

Internet Explorer

KaiOS Browser

Opéra Mobile

Chrome

Edge

Opéra

Safari

Safari sur IOS

Androïd Brower

Chrome pour Androïd

Firefox pour Androïd

Samsung Internet

Firefox

Baidu Browser

QQ Browser

UC Browser pour Androïd

Opéra mini
Histoire de la propriété text-transform.
-
CSS 1 - Spécification concernant les feuilles de styles en cascade - Version 1
Ce premier niveau de la spécification CSS décrit le mécanisme des feuilles de styles en cascade. Les auteurs et les lecteurs peuvent ajouter des styles aux documents. Principalement destiné à la mise en forme des documents HTML, CSS permet de définir les couleurs, les polices de caractères, la mise en forme du texte, les espacements (marges), etc. Le langage CSS est d'une compréhension aisée, lisible et facile à rédiger, il utilise les termes courants de la publication de bureau.
Concernanttext-transform. Première définition de la propriététext-transform, dans la version 1 du langage CSS.17 Novembre 1995Document de travail.12 Novembre 1996Proposé à la recommandation.17 Décembre 1996Recommandation.13 Septembre 2018Ancienne spécification, déclarée obsolète. -
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.
Concernanttext-transform. Acceptation de la valeurinherit.04 Novembre 1997Document de travail.24 Mars 1998Proposé à la recommandation.11 Mai 1998Recommandation. -
Module CSS - Texte - Niveau 3
Ce module de spécification niveau 3 définit les contrôles typographiques de CSS, c'est à dire les règles de transformation d'un texte source en texte formaté, avec retours à la ligne. De nombreuses propriétés contrôlent l'alignement et la justification des textes, les règles de césure, l'espacements des caractères ou des mots, le regroupement des espaces successifs, etc.
Ces règles sont souvent dépendantes du langage, il est donc conseillé aux auteurs de spécifier la langue dans lequel le texte est écrit (attributlangpour le HTML). Il peut même être nécessaire de préciser le système d'écriture utilisé en particulier pour les langues coréenne, japonaise, mongolienne, etc. A défaut la mise en forme typographique sera moins fine.Concernanttext-transform. Ajout des valeursfull-widthetfull-size-kana.27 Janvier 1999Document de travail.22 Décembre 2020Candidat à la recommandation. -
Module CSS - Texte - Niveau 4
Ce niveau 4 de ce module de spécification décrit les propriétés qui agissent sur les règles typographiques : alignement et justification du texte, espacement des mots ou des caractères, règles de césure, etc.
Par rapport au niveau 3, plusieurs nouvelles propriétés ont été ajoutées, en particulier concernant les ruptures en fin de lignes, les césures, les espacements avant et/ou après le texte, etc.Concernanttext-transform. Ajout de la valeurmath-auto.22 Septembre 2015Document de travail.
Voir aussi, au sujet des manipulations de texte.
Les spécifications CSS éditées par le W3C sont organisées en modules.
La propriété text-transform fait partie du module Module CSS - Texte.
Les définitions suivantes sont également décrites dans ce même module.
Propriétés :
text-align).text-spacing-trim et text-autospace. regroupe les informations d'espacement des caractères pour les langues CJK.



