Objectif de la séance : Explorer davantage les capacités de CSS en utilisant des sélecteurs avancés et en comprenant le modèle de boîte CSS pour formater les éléments de manière plus complexe.
Dans cette section, nous explorerons des techniques avancées de sélection d'éléments avec CSS, en allant au-delà des sélecteurs de base. Ces techniques vous permettront de cibler des éléments spécifiques et d'appliquer des styles en réponse à des interactions de l'utilisateur ou à des conditions spécifiques.
Révision des Sélecteurs de Base :
Tout d'abord, faisons une brève révision des sélecteurs de base que nous avons déjà vus. Les sélecteurs de type, d'ID et de classe nous permettent de cibler respectivement tous les éléments d'un type particulier (comme <p>
), un élément avec un ID unique (comme #monID
), ou un élément avec une classe spécifique (comme .maClasse
).
Sélecteurs de Classe Combinés :
Les sélecteurs de classe combinés sont utilisés pour cibler des éléments spécifiques qui ont plusieurs classes. Par exemple, supposons que vous ayez des éléments <div>
avec des classes "highlight" et "section". Vous pouvez les cibler de la manière suivante :
div.highlight.section {
/* Styles appliqués aux div avec les classes "highlight" et "section" */
background-color: yellow;
}
Cela vous permet de cibler uniquement les éléments <div>
qui ont à la fois les classes "highlight" et "section".
Utilisation des Pseudo-Classes :
Les pseudo-classes sont des sélecteurs spéciaux qui permettent d'appliquer des styles en fonction d'états ou d'interactions spécifiques de l'utilisateur. Voici quelques exemples courants :
:hover
: Cette pseudo-classe permet d'appliquer des styles lorsque l'utilisateur survole un élément avec la souris. Par exemple, pour changer la couleur d'un lien au survol :
a:hover {
color: red;
}
:nth-child(n)
: Cette pseudo-classe permet de cibler des éléments enfants spécifiques en fonction de leur position dans un conteneur. Par exemple, pour styliser chaque deuxième élément <p>
:
p:nth-child(2n) {
font-weight: bold;
}
:not(selector)
: Cette pseudo-classe permet d'exclure des éléments spécifiques de la sélection. Par exemple, pour cibler tous les éléments <a>
sauf ceux ayant la classe "external" :
a:not(.external) {
text-decoration: underline;
}
Les sélecteurs de classe combinés et les pseudo-classes offrent une flexibilité avancée pour cibler précisément les éléments que vous souhaitez styliser en fonction de diverses conditions et interactions. En les maîtrisant, vous pourrez créer des designs web plus interactifs et adaptés aux besoins de votre site.
Le modèle de boîte CSS est l'un des concepts fondamentaux pour comprendre la mise en page et la conception des éléments sur une page web. Il définit comment chaque élément HTML est rendu visuellement, en tenant compte de plusieurs propriétés clés : la marge (margin
), la bordure (border
), le rembourrage (padding
), la largeur (width
) et la hauteur (height
). Comprendre ces propriétés est essentiel pour contrôler la disposition et l'apparence de vos éléments.
Margin :
La marge est l'espace vide autour de l'élément, à l'extérieur de la bordure. Elle définit la distance entre l'élément et les autres éléments de la page. Vous pouvez définir la marge de l'élément avec les propriétés margin-top
, margin-right
, margin-bottom
et margin-left
.