94 lines
2.6 KiB
Markdown
94 lines
2.6 KiB
Markdown
# CSS – Débutant
|
||
|
||
Le langage CSS (<span lang="en">cascading style sheets</span>) permet d'agir sur le style du document HTML. C'est-à dire toute la partie visuelle du contenu comme par exemple :
|
||
|
||
- la mise en page
|
||
- les couleurs
|
||
- les tailles
|
||
- les marges
|
||
- les polices de caractères
|
||
- etc.
|
||
|
||
On parle de **“ règle CSS ”.** Une règle se construit ainsi :
|
||
|
||
`sélecteur` `{` `propriété` `:` `valeur` `;` `}`
|
||
|
||
::: details Afficher l'exemple
|
||
|
||
<<< @/snippets/css/base.css#rule
|
||
|
||
- `p` est le sélecteur
|
||
- `color` est la propriété
|
||
- `blue` est la valeur
|
||
- `color: blue;` est la déclaration
|
||
- l'ensemble forme **la règle**
|
||
|
||
:::
|
||
|
||
On écrit généralement les règles CSS en dehors du fichier HTML, dans un fichier `style.css`. Afin de relier les styles au HTML, il convient d'appeler le fichier via une balise `<link>`, positionnée dans la balise `<head>` du HTML.
|
||
|
||
::: details
|
||
|
||
```html
|
||
<head>
|
||
…
|
||
<link rel="stylesheet" href="./css/style.css" />
|
||
</head>
|
||
```
|
||
|
||
:::
|
||
|
||
## Sélecteurs CSS
|
||
|
||
### Sélecteurs de balise
|
||
|
||
Ils sont identiques aux balises HTML (sauf head).
|
||
|
||
::: details Afficher le code
|
||
<<< @/snippets/css/base.css#tag
|
||
:::
|
||
|
||
### Sélecteurs de classe
|
||
|
||
Cible une classe définie dans le HTML avec un point.
|
||
|
||
::: details Afficher le code
|
||
<<< @/snippets/css/base.css#class
|
||
:::
|
||
|
||
### Sélecteurs d’attribut
|
||
|
||
Cible un attribut spécifique avec ou sans valeur entre crochets.
|
||
|
||
::: details Afficher le code
|
||
<<< @/snippets/css/base.css#attr
|
||
:::
|
||
|
||
### Sélecteurs multiples et chaînés
|
||
|
||
Il est possible de cibler plusieurs éléments ou d’enchaîner les sélecteurs.
|
||
|
||
::: details Afficher le code
|
||
<<< @/snippets/css/base.css#chain
|
||
:::
|
||
|
||
::: tip Conseil
|
||
Entraînez-vous à utiliser les sélecteurs avec [cet exercice intéractif.](https://flukeout.github.io/)
|
||
:::
|
||
|
||
## Propriétés CSS
|
||
|
||
::: info
|
||
Il en existe beaucoup trop pour essayer de les résumer ici.
|
||
Se référer à [la documentation.](https://developer.mozilla.org/fr/docs/Web/CSS/Reference)
|
||
:::
|
||
|
||
## La cascade du style
|
||
|
||
Le CSS est régit par un concept appelé la cascade. La cascade est un ensemble de règles de priorité et d'importance. Elles servent à déterminer la règle CSS qui sera appliquée en cas de “ conflit ” entre plusieurs règles.
|
||
|
||
Les deux éléments de la cascade que nous utiliseront le plus ici sont **la spécificité et l'ordre.**
|
||
|
||
- [Cette présentation](https://slidr.io/bramus/the-css-cascade-a-deep-dive-2022-06-09-css-day#1) en anglais explique en détails le fonctionnement de la cascade.
|
||
- [Cette page](https://wattenberger.com/blog/css-cascade) (en anglais également) permet de visualiser graphiquement la cascade.
|