Mon paragraphe
Tommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css html { font-size: 10px; } h1 { font-size: 2.6rem; } p { font-size: 1.4rem; color: red; font-family: Helvetica, Arial, sans-serif; } ``` {{ EmbedLiveSample('Un_simple_exemple_de_dimensionnement', '100%', 220) }} ### Style de fonte, graisse, transformation et décoration de texte CSS fournit quatre propriétés communes pour modifier le poids et l'emphase visuelles du texte : - {{cssxref("font-style")}} : utilisé pour appliquer ou enlever le style italique. Les valeurs possibles sont les suivantes (vous ne l'utiliserez que rarement, sauf si vous souhaitez désactiver le style italique pour une raison quelconque) : - `normal` : fige le texte en police normale (suppression du style italique existant). - `italic` : met le texte en _version italique de la police_ si elle est disponible ; si elle n'existe pas, le style italique sera émulé avec l'option oblique à la place. - `oblique` : force le texte à utiliser une version simulée de fonte italique, créée en _inclinant la version normale_. - {{cssxref("font-weight")}} : définit la graisse du texte. La propriété peut avoir de nombreuses valeurs s'il y a de nombreuses variantes de polices disponibles (comme _-light_, _-normal_, _-bold_, _-extrabold_, _-black_, etc.), mais en réalité, vous les utiliserez rarement en dehors de `normal` et `bold` (gras): - `normal`, `bold` : graisse de la police, normale ou **bold**. - `lighter`, `bolder` : définit la graisse de l'élément courant de sorte qu'il soit un cran moins gras ou plus gras que son parent. - `100–900` : valeurs numériques du taux de graisse ; elles permettent un dosage plus fin que les mots-clés ci-dessus, si nécessaire. - {{cssxref("text-transform")}} : Vous permet de définir les transformations de votre police. Les valeurs comprennent : - `none` : aucune transformation. - `uppercase` : met tout le texte en majuscules. - `lowercase` : met tout le texte en minuscules. - `capitalize` : transforme tous les mots en mettant leur première lettre en majuscules. - `full-width` : force l'écriture de tous les glyphes dans un carré de largeur fixe, similaire à une police à espacement fixe, permettant leur alignement, par ex. caractères latins avec des glyphes de langue asiatique (comme le chinois, le japonais, le coréen.) - {{cssxref("text-decoration")}} : active ou désactive les décorations de texte sur les polices (vous les utiliserez principalement pour désactiver le soulignement par défaut sur les liens lors de leur création). Les valeurs disponibles sont : - `none`: désactive les décorations du texte déjà présentes. - `underline`: souligne le texte. - `overline`: trace une ligne au-dessus du texte. - `line-through`: barre le texte. Vous devez noter que {{cssxref("text-decoration")}} peut accepter plusieurs valeurs à la fois, si vous voulez en ajouter plusieurs simultanément, par exemple `text-decoration: underline overline`. Notez aussi que {{cssxref("text-decoration")}} est la propriété raccourcie pour {{cssxref("text-decoration-line")}}, {{cssxref("text-decoration-style")}} et {{cssxref("text-decoration-color")}}. Vous pouvez utiliser des combinaisons de ces valeurs de propriété pour créer des effets intéressants, par exemple `text-decoration: line-through red wavy`. Regardons l'ajout de quelques-unes de ces propriétés à notre exemple. Notre nouveau résultat ressemble à : ```html hiddenTommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css hidden html { font-size: 10px; } h1 { font-size: 2.6rem; text-transform: capitalize; } h1 + p { font-weight: bold; } p { font-size: 1.4rem; color: red; font-family: Helvetica, Arial, sans-serif; } ``` {{ EmbedLiveSample('Style_de_fonte_graisse_transformation_et_décoration_de_texte', '100%', 220) }} ### Ombres du texte Vous pouvez ombrer votre texte avec la propriété {{cssxref("text-shadow")}}. Elle prend 4 valeurs, comme vous pouvez le voir dans l'exemple ci-dessous : ```css text-shadow: 4px 4px 5px red; ``` Les 4 propriétés sont les suivantes : 1. Le décalage horizontal de l'ombre par rapport au texte original — cette grandeur acepte la plupart des [unités de longueur et de taille](/fr/Learn/CSS/Introduction_to_CSS/Values_and_units#Length_and_size) des CSS disponibles, mais vous utiliserez en règle générale le px. Cette valeur doit être précisée. 2. Le décalage vertical de l'ombre par rapport au texte original — cette grandeur se comporte à la base comme la précédente, sauf que l'ombre est portée vers le haut ou vers le bas, et non vers la gauche ou la droite. Cette valeur doit être précisée. 3. Le rayon de floutage — plus cette valeur est élevée, plus l'ombre est étalée largement. Si cette valeur n'est pas précisée, la valeur par défaut est 0, ce qui signifie pas de flou. Elle accepte toutes les [unités de longueur et de taille](/fr/Learn/CSS/Introduction_to_CSS/Values_and_units#Length_and_size) des CSS. 4. La couleur de l'ombre, qui peut prendre toute [unité de couleur CSS](/fr/Learn/CSS/Introduction_to_CSS/Values_and_units#Colors). Si elle n'est pas définie, c'est la couleur noire par défaut. > **Note :** Les valeurs positives de décalage déplacent l'ombre à droite et en bas, mais vous pouvez aussi utiliser des valeurs négatives pour obtenir une ombre à gauche et en haut, par exemple `-1px -1px`. #### Ombres multiples Vous pouvez appliquer plusieurs ombres à un même texte, en mettant plusieurs valeurs d'ombrage séparées par une virgule, par exemple : ```css text-shadow: -1px -1px 1px #aaa, 0px 4px 1px rgba(0,0,0,0.5), 4px 4px 5px rgba(0,0,0,0.7), 0px 0px 7px rgba(0,0,0,0.4); ``` Si nous l'appliquons à l'élément {{htmlelement ("h1")}} de notre exemple Tommy le Chat, nous nous obtenons : ```html hiddenTommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css hidden html { font-size: 10px; } h1 { font-size:26px; text-transform: capitalize; text-shadow: -1px -1px 1px #aaa, 0px 2px 1px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.7), 0px 0px 3px rgba(0,0,0,0.4); } h1 + p { font-weight: bold; } p { font-size:14px; color: red; font-family: Helvetica, Arial, sans-serif; } ``` {{ EmbedLiveSample('Ombres_du_texte', '100%', 220) }} > **Note :** Vous pouvez voir plus d'exemples intéressants de `text-shadow` dans l'article de Sitepoint [Moonlighting with CSS text-shadow](http://www.sitepoint.com/moonlighting-css-text-shadow/) (Clair de lune avec text-shadow). ## Mise en page du texte Après les propriétés de base des polices, examinons maintenant celles permettant de modifier la disposition des textes. ### Alignement du texte La propriété {{cssxref("text-align")}} s'utilise pour contrôler la disposition du texte dans la zone de contenu. Les valeurs acceptées sont les suivantes. Elles fonctionnent à peu près de la même manière que dans un traitement de texte : - `left`: le texte est aligné à gauche. - `right`: le texte est aligné à droite. - `center`: le texte est centré. - `justify`: étale le texte, en faisant varier les espaces entre les mots afin de donner la même largeur à toutes les lignes du texte. Vous devez l'utiliser avec discernement — il peut sembler parfait, surtout lorsqu'il est appliqué à un paragraphe avec beaucoup de longs mots. Si vous voulez l'utiliser, vous devriez aussi penser à utiliser quelque chose d'autre, comme {{cssxref ("hyphens")}}, pour couper certains des mots les plus longs entre les lignes. Si nous appliquons `text-align: center;` à l'élément {{htmlelement("h1")}} de notre exemple, nous aurons : ```html hiddenTommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css html { font-size: 10px; } h1 { font-size: 2.6rem; text-transform: capitalize; text-shadow: -1px -1px 1px #aaa, 0px 2px 1px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.7), 0px 0px 3px rgba(0,0,0,0.4); text-align: center; } h1 + p { font-weight: bold; } p { font-size: 1.4rem; color: red; font-family: Helvetica, Arial, sans-serif; } ``` {{ EmbedLiveSample('Alignement_du_texte', '100%', 220) }} ### Hauteur de ligne La propriété {{cssxref ("line-height")}} définit la hauteur de chaque ligne de texte — elle peut prendre la plupart des [unités de longueur et de taille](/fr/Apprendre/CSS/Introduction_à_CSS/Values_and_units#Length_and_size), mais elle peut également prendre une valeur sans unité, qui agit comme un multiplicateur et est considérée habituellement comme la meilleure option — la valeur de {{cssxref ("font-size")}} est multipliée par ce facteur pour obtenir la valeur de `line-height`. Le corps de texte semble généralement plus agréable et est plus facile à lire lorsque les lignes sont espacées ; la hauteur de ligne recommandée est d'environ 1,5-2 (double interligne). Donc, pour définir une hauteur de ligne de texte égale à 1,5 fois la hauteur de la police, vous utiliserez ceci : ```css line-height: 1.5; ``` En appliquant cette règle à l'élément {{htmlelement("p")}} de l'exemple, nous obtenons : ```html hiddenTommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css hidden html { font-size: 10px; } h1 { font-size: 2.6rem; text-transform: capitalize; text-shadow: -1px -1px 1px #aaa, 0px 2px 1px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.7), 0px 0px 3px rgba(0,0,0,0.4); text-align: center; } h1 + p { font-weight: bold; } p { font-size: 1.4rem; color: red; font-family: Helvetica, Arial, sans-serif; } ``` {{ EmbedLiveSample('Hauteur_de_ligne', '100%', 250) }} ### Espacement entre les lettres et les mots Les propriétés {{cssxref ("letter-spacing")}} et {{cssxref ("word-spacing")}} permettent de définir l'espacement entre les lettres et les mots de votre texte. Vous ne les utiliserez pas très souvent, mais vous pourriez les utiliser pour obtenir une certaine apparence ou pour améliorer la lisibilité d'une police particulièrement dense. Ils peuvent prendre la plupart des [unités de longueur et de taille](/fr/Learn/CSS/Introduction_to_CSS/Values_and_units#Length_and_size). Si nous appliquons les paramètres suivants à la première ligne des éléments {{htmlelement("p")}} dans notre exemple : ```css p::first-line { letter-spacing: 2px; word-spacing: 4px; } ``` Nous obtiendrons : ```html hiddenTommy le Chat
Je m'en souviens comme mon dernier repas...
Dit Tommy le Chat en jetant la tête en arrière pour dégager ce corps étranger qui s'était niché au fond de sa redoutable gueule. Beaucoup de rats bien gras trépassèrent dans la ruelle en regardant l'étoile brillant au fond du canon de cet extraordinaire rôdeur en quête de proie. Un véritable miracle de la nature ce prédateur urbain — Tommy le Chat avait beaucoup d'histoires à raconter. Mais il ne le faisait qu'en de rares occasions, comme maintenant.
``` ```css hidden html { font-size: 10px; } h1 { font-size: 2.6rem; text-transform: capitalize; text-shadow: -1px -1px 1px #aaa, 0px 2px 1px rgba(0,0,0,0.5), 2px 2px 2px rgba(0,0,0,0.7), 0px 0px 3px rgba(0,0,0,0.4); text-align: center; } h1 + p { font-weight: bold; } p::first-line { letter-spacing: 2px; word-spacing: 4px; } p { font-size: 1.4rem; color: red; font-family: Helvetica, Arial, sans-serif; line-height: 1.5; } ``` {{ EmbedLiveSample('Espacement_entre_les_lettres_et_les_mots', '100%', 250) }} ### D'autres propriétés intéressantes Les propriétés ci-dessus donnent un début d'idée de la manière de composer un style pour un texte de page web, mais beaucoup d'autres propriétés peuvent être utilisées. Nous n'avons juste évoqué que les plus importantes. Une fois que vous serez un familier de l'utilisation de ce qui précède, explorez donc ce qui suit : Styles de police de caractères : - {{cssxref("font-variant")}} : bascule entre petites majuscules et police normale, et réciproquement. - {{cssxref("font-kerning")}} : active et désactive les options de crénage des polices. - {{cssxref("font-feature-settings")}} : active et désactive les fonctionnalités des polices de caractères [OpenType](https://en.wikipedia.org/wiki/OpenType). - {{cssxref("font-variant-alternates")}} : contrôle l'utilisation de glyphes alternatifs pour une apparence de police donnée. - {{cssxref("font-variant-caps")}}: contrôle l'utilisation de glyphes alternatifs en capitales. - {{cssxref("font-variant-east-asian")}} : contrôle l'utilisation de glyphes alternatifs pour les écritures des pays de l'est de l'Asie, comme le japonais ou le chinois. - {{cssxref("font-variant-ligatures")}} : contrôle les ligatures et formes contextuelles utilisées dans le texte. - {{cssxref("font-variant-numeric")}} : contrôle l'utilisation de glyphes alternatifs pour les nombres, les fractions et les marqueurs ordinaux. - {{cssxref("font-variant-position")}} : contrôle l'utilisation de glyphes alternatifs de plus petites tailles positionnés en exposant ou en indice. - {{cssxref("font-size-adjust")}} : ajuste la taille visuelle de la police indépendamment de sa taille réelle. - {{cssxref("font-stretch")}} : bascule entre les versions étirées alternatives possibles d'une police donnée. - {{cssxref("text-underline-position")}} : définit la position du soulignement avec la valeur `underline` pour la propriété `text-decoration-line`. - {{cssxref("text-rendering")}} : essaye d'effectuer une optimisation du rendu du texte. styles de mise en page du texte - {{cssxref("text-indent")}} : indique le nombre d'espaces à ménager horizontalement avant le début de la première ligne de texte du contenu. - {{cssxref("text-overflow")}} : définit la façon de signaler aux utilisateurs le contenu en débordement (et donc non affiché). - {{cssxref("white-space")}} : définit comment les espaces blancs et les sauts de ligne associés dans l'élément sont gérés. - {{cssxref("word-break")}} : spécifie s'il y a césure dans les mots. - {{cssxref("direction")}} : définit la direction du texte (cela dépend de la langue et généralement, il vaut mieux laisser HTML la gérer car elle est liée au contenu du texte.) - {{cssxref("hyphens")}} : active et désactive la césure pour les langues prises en charge. - {{cssxref("line-break")}} : détend ou renforce la rupture de ligne pour les langues asiatiques. - {{cssxref("text-align-last")}} : définit comment la dernière ligne d'un bloc ou d'une ligne, juste avant un saut de ligne forcé, est alignée. - {{cssxref("text-orientation")}} : définit l'orientation du texte dans une ligne. - {{cssxref("word-wrap")}} : indique si le navigateur peut replier une ligne en conservant l'ordre des mots pour empêcher un débordement. - {{cssxref("writing-mode")}} : définit si les lignes de texte sont disposées horizontalement ou verticalement et la direction des lignes suivantes. ## Abréviations pour propriétés de fontes De nombreuses propriétés des fontes peuvent être déclarées de manière abrégée avec {{cssxref("font")}}. Elles sont écrites dans l'ordre suivant : {{cssxref("font-style")}}, {{cssxref("font-variant")}}, {{cssxref("font-weight")}}, {{cssxref("font-stretch")}}, {{cssxref("font-size")}}, {{cssxref("line-height")}} et {{cssxref("font-family")}}. Parmi toutes ces propriétés, seules `font-size` et `font-family` sont requises lorsque la propriété abrégée `font` est utilisée. Une barre oblique doit être placée entre les propriétés {{cssxref("font-size")}} et {{cssxref("line-height")}}. Un exemple complet ressemblerait à ceci : ```css font: italic normal bold normal 3em/1.5 Helvetica, Arial, sans-serif; ``` ## Apprentissage actif : jouer avec les styles du texte Dans cette session d'apprentissage actif, nous n'avons pas d'exercice spécifique à vous proposer : nous voulons juste vous permettre de jouer avec certaines propriétés de police ou mise en page de texte et de voir ce que vous pouvez produire ! Vous pouvez le faire en utilisant des fichiers HTML / CSS hors ligne ou en entrant votre code dans l'exemple modifiable en direct ci-dessous. Si vous faites une erreur, vous pouvez toujours _Réinitialiser_ avec le bouton de même nom. ```html hidden