/* les titres de niveau 1 */
h1 {
color:red;
}
/* les <div> de classe "message" */
div.message {
background-color: #fee;
text-align: center;
padding: 1em;
font-weight: bold;
}
Par ordre de préférence (et inversement à la priorité)
css
qu’on inclut dans le html avec la balise <link>
:
<link rel="stylesheet" href="monstyle.css">
Dans une balise <style>
dans le fichier html:
<style>
p > em {
color:green;
}
</style>
<span style="font-family:monospace;">...</span>
Une règle CSS s’écrit de la forme :
sélecteur {
propriété1: valeurs1;
propriété2: valeurs2;
...
propriétéN: valeursN;
}
*
: sélecteur universel. Correspond à tout élément. [example][+]E
: sélecteur de balise. Correspond à tout élément E (c.à.d., un élément de type E). [example][+]E F
: sélecteur de descendant. Correspond à tout élément F qui est un descendant de l’élément E.E > F
: sélecteur d’enfant. Correspond à tout élément F qui est un enfant de l’élément E. [example][+]E + F
: sélecteur d’adjacence. Correspond à tout élément F immédiatement précédé par un élément E. [example][+]E[foo]
: sélecteur d’attribut. Correspond à tout élément E avec l’attribut « foo » (quelle qu’en soit sa valeur).E[foo="boo"]
: sélecteur valeur d’attribut. Correspond à tout élément E dont l’attribut « foo » a exactement la valeur « boo ». [example][+].foo
: sélecteur de classe. Correspond à tout élément qui est de classe « foo ». C’est identique à [class~="foo"]
. [example][+]#foo
: sélecteur d’ID. Correspond à l’élément dont l’id est « foo ». [example][+]commencent par :
:not(selector)
les éléments ne correspondants pas au « selector »:hover
quand le curseur survole l’élément:visited
après que le liens soit visité (ne s’applique qu’aux <a>
).:first-child
, :last-child
premier ou dernier enfants:nth-child(n)
n-ème enfant (n=1,2,…, even, odd).:empty
les balises videscommencent par ::
::first-line
la première ligne::first-letter
la première lettre::before
, ::after
permet de rajouter du texte au début et à la fin de l’élément.::selection
la partie sélectionnée par l’utilisateurdiv.main > p:first-child:not(:empty)
On peut appliquer un style à plusieurs sélecteurs en les séparant de virgules
div#one, span.test, img:hover {
cursor: pointer;
}
L’ordre des priorité (de plus important vers le moins important) :
!important
style
de l’élément<style>
Nous avons déjà vu plusieurs exemples de propriétés.
Il y a deux types:
color:red;
border: 1px solid red;
, qui est raccourcie de trois propriétés border-width
, border-style
et border-color
.!!
Attention : ces trois propriétés sont aussi des raccourcis ! Par exemple border-width
peut être décomposé en border-top-width
, border-right-width
, border-bottom-width
et border-left-width
.Vous pouvez voir les propriétés disponibles ici Mémento CSS ou ici CSS sur w3schools.
Il y a des priorités qui sont héritées par défaut et d’autre qui ne le sont pas.
color
et font-size
sont héritées.border
, margin
et padding
ne le sont pas.On peut changer ce comportement avec les valeurs inherit
(pour forcer l’héritage) ou initial
(pour arrêter l’héritage et forcer la valeur initiale). [exemple][+]
px
: en pixel (pas vraiment pour les téléphones ~ 96 ppi)cm
, mm
, in
, pt
, pc
: fonctionne aussi, mais …em
: égale à la taille de la police (par défaut 16px). Il y a aussi rem
qui est relatif à la police du <html>
.vw
, vh
: 1/100 de la largeur et de la hauteur de l’écran. Il y a aussi vmin
et vmax
.%
: relativement à la valeur du parent.calc
: on peut utiliser cette fonction pour faire des calculs, par exemple width: calc(50% - 1em);
.Pour plus d’information voir W3C : unités.
box-sizing: content-box
(par défaut)box-sizing: border-box
display:block
: comme un div
display:inline
: comme un span
display:inline-block
: comme un img
display:none
: n’est pas affichédisplay:flex
…position:static
: est le positionnement par défaut.position:relative
: relativement à la position par défaut (sa place reste réservée). A utiliser avec top
, right
, bottom
ou left
.position:absolute
: placé de façon absolu par rapport au premier parent qui n’est pas « static » (il ne prend pas de place).position:fixed
: fixé par rapport à l’écran.