Ce que je vous ai montré
jusqu'ici a quand même un défaut : cela implique par exemple que TOUS
les paragraphes soient écrits par exemple en bleu.
Pour résoudre le problème, on peut utiliser ces attributs spéciaux
qui
fonctionnent sur toutes les balises :
- L'attribut class
- L'attribut id
Que les choses soient claires dès le début : les attributs
class et
id sont quasiment identiques. Il y a seulement une petite différence que je vous dévoilerai plus bas.
Pour le moment et pour faire simple, on ne va s'intéresser qu'à l'attribut
class.
Comme je viens de vous le dire, c'est un attribut que l'on peut mettre
sur n'importe quelle balise, aussi bien titre que paragraphe, image,
etc.
Code : HTML - Sélectionner | <h1 class=""> </h1>
<p class=""></p>
<img class="" />
|
Oui mais que met-on comme valeur à l'attribut class ?
En fait, vous devez écrire un nom qui sert à identifier la balise. Ce que vous voulez, tant que le nom commence par une lettre.
Par exemple, je vais donner la classe
introduction à mon premier paragraphe :
Code : HTML - Sélectionner 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Premiers tests du CSS</title>
</head>
<body>
<h1>Mon super site</h1>
<p class="introduction">Bonjour et bienvenue sur mon site !</p>
<p>Pour le moment, mon site est un peu <em>vide</em>. Patientez encore un peu !</p>
</body>
</html>
|
Maintenant que c'est fait, votre paragraphe est identifié. Il a un nom :
introduction. Vous allez pouvoir réutiliser ce nom dans le fichier CSS pour dire : "
Je veux que seules les balises qui ont comme nom introduction soient affichées en bleu".
Pour faire ça en CSS, indiquez le nom de votre classe en commençant par un point, comme ceci :
Code : CSS - Sélectionner | .introduction
{
color: blue;
}
|
Testez le résultat : seul votre paragraphe appelé "introduction" va s'afficher en bleu !
Et l'attribut id alors ?
Lui, il fonctionne exactement de la même manière que
class, à un détail près : il ne peut être utilisé
qu'une fois dans le code.
Quel intérêt ? Il y en a assez peu pour tout vous dire, cela vous sera
utile si vous faites du Javascript plus tard pour reconnaître certaines
balises. D'ailleurs, nous avons déjà vu l'attribut
id dans le chapitre sur les liens (pour réaliser des ancres).
En pratique, nous ne mettrons des
id que sur des éléments qui sont uniques sur votre page, comme par exemple le logo :
Code : HTML - Sélectionner | <img src="images/logo.png" alt="Logo du site" id="logo" />
|
Si vous utilisez des id, dans le CSS il faudra faire précéder le nom de l'id par un dièse (
#) :
Code : CSS - Sélectionner | #logo
{
/* Indiquez les propriétés CSS ici */
}
|
Je ne vous propose pas de le tester, ça fonctionne exactement comme
class.
Si vous vous emmêlez les pinceaux entre class et id
retenez que 2 balises peuvent avoir le même nom avec l'attribut class.
Un nom d'id doit en revanche être unique dans la page HTML.
Les balises universelles
Il arrivera parfois que vous ayez besoin d'appliquer une
class (ou un
id) à certains mots qui ne sont pas à l'origine entourés par des balises.
En effet, le problème de
class, c'est
qu'il s'agit d'un attribut. Vous ne pouvez donc en mettre que sur une
balise. Par exemple, si je veux modifier uniquement "bienvenue" dans le
paragraphe suivant :
Code : HTML - Sélectionner | <p>Bonjour et bienvenue sur mon site !</p>
|
Ça serait facile à faire s'il y avait une balise autour de "bienvenue",
malheureusement il n'y en a pas. Heureusement, on a inventé... la balise-qui-sert-à-rien.
En fait, on a inventé 2 balises dites
universelles
qui n'ont aucune signification particulière (elles n'indiquent pas que
le mot est important par exemple). Il y a une petite (mais importante !)
différence entre ces deux balises :
- <span> </span> : c'est une balise de type inline. C'est une balise que l'on place au sein d'un paragraphe de texte, pour sélectionner certains mots uniquement. Les balises <strong> et <em>
sont de la même famille. Cette balise s'utilise donc au milieu d'un
paragraphe, et c'est celle dont nous allons nous servir pour colorer
"bienvenue".
- <div> </div> : c'est une balise de type block qui entoure un bloc de texte. Les balises de la même famille sont <p>, <h1>,
etc. Ces balises ont quelque chose en commun : elles créent un nouveau
"bloc" dans la page, et provoquent donc obligatoirement un retour à la
ligne. <div> est une balise fréquemment utilisée dans la construction d'un design, comme nous le verrons plus tard.
Pour le moment donc, nous allons utiliser plutôt la balise
<span>. On la met autour de "bienvenue", on lui rajoute une classe (du nom qu'on veut), on crée le CSS et c'est gagné !
Code : HTML - Sélectionner | <p>Bonjour et <span class="salutations">bienvenue</span> sur mon site !</p>
|
Code : CSS - Sélectionner | .salutations
{
color: blue;
}
|