Sources
Classement chronologique :
- Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. Version du 7 décembre 2021 / Groupe W3C, B. Bos. W3C, juin 2011. At : https://www.w3.org/cascading-style-sheets-level-2-revision-1 [HTML][Consultation le 4 septembre 2024].
- CSS current work & how to participate / B. Bos. In : W3C.org, 29 août 2024. At : https://www.w3.org/CSS-current-work-how-to-participate [HTML][Consultation le 4 septembre 2024].
CSS 2.1 : introduction (1)
Intégration des feuilles de style dans les documents : définition des règles sous l'élément style, lequel viendra se positionner sous l'élément head (en tant que fils), après l'élément title.
Externalisation des feuilles de style : définition des règles dans la feuille de style et intégration de celle-ci (dans les scripts des pages HTML) avec l'élément link, lequel viendra, comme précédemment (avec l'élément style) se positionner sous l'élément head (en tant que fils), après l'élément title.
Introduction des mécanismes d'héritage et de surcharge.
Différence entre unités absolues et unités relatives.
Syntaxe des règles
A rule set (also called "rule") consists of a selector followed by a declaration block.
A declaration block starts with a left curly brace ({) and ends with the matching right curly brace (}). In between there must be a list of zero or more semicolon-separated (;) declarations.
…
A selector always goes together with a declaration block.
A declaration […] consists of a property name, followed by a colon (:), followed by a property value.
Toute règle met en jeu un sélecteur suivi d'un bloc comprenant une ou plusieurs déclarations.
Toute déclaration renvoie à une propriété générale (color par exemple, si on souhaite personnaliser la couleur du texte) à laquelle on appliquera une valeur particulière (blue si on veut du bleu).
Types de données à considérer
Sont ici traités les cas respectifs des longueurs, des URI (et plus particulièrement des URL) et des couleurs, auxquels il faudrait ajouter, pour être complet, ceux des compteurs et des chaînes de caractères.
Cas des longueurs
The format of a length value […] is a number (with or without a decimal point) immediately followed by a unit identifier (e.g., px, em, etc.).
Some properties allow negative length values…
Commentaire. — Il est recommandé de ramener la taille des caractères courants à 10 pixels exactement (62,5% des 16 pixels par défaut) de manière à éviter, lorsque le navigateur aura à faire des calculs, pour les en-têtes notamment, les éventuels problèmes d'arrondi : on pourra ainsi passer de 10 pixels à 30 pixels, 20 pixels et 15 pixels (pour les en-têtes de niveau 1, 2 et 3) très facilement et sans approximation aucune, en multipliant tout simplement la taille de base par 3, 2 et 1,5 (1).
Notion d'unité relative
Relative length units specify a length relative to another length property.
The 'em' unit is equal to the computed value of the 'font-size' property of the element on which it is used. The exception is when 'em' occurs in the value of the 'font-size' property itself, in which case it refers to the font size of the parent element.…
The rule:
h1 { line-height: 1.2em }means that the line height of "h1" elements will be 20% greater than the font size of the "h1" elements. On the other hand:
h1 { font-size: 1.2em }means that the font-size of "h1" elements will be 20% greater than the font size inherited by "h1" elements.
Notion d'unité absolue
Absolute length units are fixed in relation to each other. They are mainly useful when the output environment is known. The absolute units consist of the physical units (in, cm, mm, pt, pc) and the px unit:
- in (inches): 1 in is equal to 2.54 cm.
- cm (centimeters).
- mm (millimeters).
- pt: points (the points used by CSS are equal to 1/72nd of 1 in).
- pc: picas (1 pc is equal to 12 pt).
- px: pixel units (1 px is equal to 0.75 pt).
Du pixel constant (0,75 pt soit 0,26 mm environ) lié aux longueurs absolues au pixel de référence variable lié à un angle absolu
For lower-resolution devices, and devices with unusual viewing distances, it is recommended […] that the anchor unit be the pixel unit. For such devices it is recommended that the pixel unit refer to the whole number of device pixels that best approximates the reference pixel.
The reference pixel is the visual angle of one pixel on a device with a pixel density of 96 dpi and a distance from the reader of an arm's length. For a nominal arm's length of 28 inches, the visual angle is therefore about 0.0213 degrees.
For reading at arm's length, 1 px thus corresponds to about 0.26 mm (1/96 inch).
...
A reading distance of 71 cm (28 inches) results in a reference pixel of 0.26 mm, while a reading distance of 3.5 m (12 feet) results in a reference pixel of 1.3 mm.
Cas des URI et des URL en particulier (1)(2)
The format of a URI value is 'url(' followed by [...] the URI itself […] followed by ')'.
Cas des couleurs
coloris either a keyword or a numerical RGB specification.The list of color keywords is:
aqua,black,blue,fuchsia,gray,green,lime,maroon,navy,olive,orange,purple,red,silver,teal,white, andyellow.…
The format of an RGB value in hexadecimal notation is a '#' immediately followed by either three or six hexadecimal characters.
Les différents types de sélecteurs et la contextualisation des règles
Les différents types de sélecteurs
A simple selector is either a type selector or universal selector followed immediately by zero or more attribute selectors, ID selectors, or pseudo-classes, in any order.
…
One pseudo-element may be appended to the last simple selector in a chain.
Sélecteur de type d'élément
A type selector matches the name of a document language element type. A type selector matches every instance of the element type in the document tree.
The following rule matches all H1 elements in the document tree:
h1 { font-family: sans-serif }
Sélecteur d'attribut désignant une classe : sélecteur de classe
Working with HTML, authors may use the period (.) notation as an alternative to the
~=notation when representing theclassattribute. Thus, for HTML,div.valueanddiv[class~=value]have the same meaning.…
For example, we can assign style information to all elements with
class~="pastoral"as follows:*.pastoral { color: green } /* all elements with class~=pastoral */or just
.pastoral { color: green } /* all elements with class~=pastoral */The following assigns style only to H1 elements with
class~="pastoral":H1.pastoral { color: green } /* H1 elements with class~=pastoral */Given these rules, the first H1 instance below would not have green text, while the second would:
<H1>Not green</H1>
<H1 class="pastoral">Very green</H1>
Sélecteur d'identifiant
Document languages may contain attributes that are declared to be of type ID. What makes attributes of type ID special is that no two such attributes can have the same value; whatever the document language, an ID attribute can be used to uniquely identify its element.
The ID attribute of a document language allows authors to assign an identifier to one element instance in the document tree. CSS ID selectors match an element instance based on its identifier. A CSS ID selector contains a "#" immediately followed by the ID value, which must be an identifier.
The following ID selector matches the H1 element whose ID attribute has the value "chapter1":
h1#chapter1 { text-align: center }
Pseudo-classes
Pseudo-classes classify elements on characteristics other than their name, attributes or content; in principle characteristics that cannot be deduced from the document tree.
Ensemble des pseudo-classes à considérer :
- Pseudo-classe
:first-child(1). - Pseudo-classes des liens :
:linket:visited(2). - Pseudo-classes dynamiques :
:hover,:activeet:focus(3). - Pseudo-classe des langues :
:lang(4).
Cas d'usage des pseudo-classes :hover, :active et :visited, avec les liens :
- La pseudo-classe
:hoverservira à marquer leur suvol, permettant ainsi d'attirer l'attention sur le fait qu'ils deviennent cliquables. - La pseudo-classe
:activeservira ensuite à marquer leur activation, par le clic, qui typiquement commencera avec la pression du bouton de la souris, pour s'arrêter à sa libération. - Et pour finir, la pseudo-classe
:visitedservira à marquer l'affichage des nouveaux contenus, après libération du bouton de la souris.
Liées au type d'élément considéré, celui des liens hypertextes (5), l'intégration de ces trois pseudo-classes donnera, avec les couleurs que le W3C a retenu dans son exemple (bleu/jaune/citron vert) :
a:visited { color: blue } /* visited links */ a:hover { color: yellow } /* user hovers */ a:active { color: lime } /* active links */
:hover, :active, and :focus).Remarque. — Au contraire de la pseudo-classe :hover, les pseudo-classes :active et :visited présentent un intérêt qui se discute. Pourquoi en effet faudrait-il changer l'apparence des liens au moment du clic qui, on le sait, ne tient qu'à une fraction de seconde ? Et à l'exception des liens de menus, pourquoi faudrait-il du reste changer l'apparence de liens qui, après le clic, n'apparaîtront plus à l'écran ? les nouveaux contenus des pages visées par les liens ayant chassé (6) les anciens contenus des pages appelantes, avec leurs liens.
Pseudo-éléments
Pseudo-elements create abstractions about the document tree beyond those specified by the document language. For instance, document languages do not offer mechanisms to access the first letter or first line of an element's content. CSS pseudo-elements allow style sheet designers to refer to this otherwise inaccessible information. Pseudo-elements may also provide style sheet designers a way to assign style to content that does not exist in the source document (e.g., the
:beforeand:afterpseudo-elements give access to generated content).
Ensemble des pseudo-éléments à considérer :
- Pseudo-élément
:first-line(1). - Pseudo-élément
:first-letter(2). - Pseudo-éléments
:beforeet:after(3).
The :first-line pseudo-element applies special styles to the contents of the first formatted line of a paragraph. For instance:
p:first-line { text-transform: uppercase }The above rule means "change the letters of the first line of every paragraph to uppercase".
:first-line pseudo-element).La contextualisation des règles
The following example combines descendant selectors and child selectors:
div ol > li pIt matches a
pelement that is a descendant of anli; thelielement must be the child of anolelement; theolelement must be a descendant of adiv.
Traitement des polices de caractères
Police de caractères : définition
A typeface (or font family [= police de caractères]) is a design of letters, numbers and other symbols, to be used in printing or for electronic display. Most typefaces include variations in size (e.g., 24 point), weight (e.g., light, bold), slope (e.g., italic), width (e.g., condensed), and so on. Each of these variations of the typeface is a font.
From : https://en.wikipedia.org/wiki/Typeface [HTML][Consultation le 20 septembre 2024].
Les polices de caractères (Times, Arial, Courier…) sont des jeux de caractères « designés » qui comprennent l'ensemble des signes attachés à une langue ou une famille de langues données — lettres, chiffres et autres symboles —, et cela, car ils se doivent d'être complets (pour répondre au besoin de l'utilisateur éditeur des contenus, anciennement compositeur dans le monde de l'imprimerie), dans toutes les tailles, toutes les inclinaisons (pour l'italique) et toutes les épaisseurs de trait (pour le gras) — pour ne retenir que ces trois paramètres, car il y en a d'autres (la capitalisation par exemple).
Attention. — Ne pas confondre polices de caractères et fontes de caractères qui elles désignent les jeux de caractères qu'on aura attachés, notamment, à une taille/une inclinaison/une épaisseur de trait données.
Classification des polices de caractères
Se comptant par centaines (1), le W3C a mis en place une classification (2) qui permet de dégager cinq grandes familles de polices. Sont ici introduites les familles serif, sans-serif et monospace, auxquelles il faudrait ajouter pour être complet les familles cursive et fantasy.
Note de fin de section :
- Voir List of typeface = Liste des polices de caractères. In : Wikipedia.org. At : https://en.wikipedia.org/wiki/List_of_typefaces [HTML][Consultation le 20 septembre 2024].
- Il en existe plusieurs classifications. La plus ancienne, qui appartient aux Chinois, remonte aux X-XIIIe siècles (a).
a. Voir Police de caractères. In : Wikipédia.fr. At : https://fr.wikipedia.org/wiki/Police_de_caract%C3%A8res [HTML][Consultation le 20 septembre 2024]. GoTo : section Classification chinoise.
serif
Glyphs of serif fonts, as the term is used in CSS, tend to have finishing strokes, flared or tapering ends, or have actual serifed endings (including slab serifs). Serif fonts are typically proportionately-spaced.
serif).sans-serif
Glyphs in sans-serif fonts, as the term is used in CSS, tend to have stroke endings that are plain -- with little or no flaring, cross stroke, or other ornamentation. Sans-serif fonts are typically proportionately-spaced.
sans-serif).monospace
The sole criterion of a monospace font is that all glyphs have the same fixed width. (This can make some scripts, such as Arabic, look most peculiar.) The effect is similar to a manual typewriter, and is often used to set samples of computer code.
monospace).Propriétés des polices de caractères
Ensemble des propriétés à considérer :
font-style(1).font-variant(2).font-weight(3).font-size(4).