CSS - Focus : Guide pour débutants

Salut là, futur superstar du design web ! Aujourd'hui, on va plonger dans l'univers passionnant du focus CSS. Ne t'inquiète pas si tu n'as jamais écrit une ligne de code auparavant - je serai ton guide amical tout au long de ce voyage. À la fin de ce tutoriel, tu sauras mettre en focus des éléments comme un pro !

CSS - Focus

Qu'est-ce que le focus CSS ?

Commençons par les bases. Le focus CSS est une pseudoclasse qui nous permet de styliser un élément lorsqu'il reçoit le focus. Mais qu'est-ce que signifie "recevoir le focus" ? Eh bien, imagine que tu remplis un formulaire en ligne. Quand tu clique sur un champ de saisie, il est mis en surbrillance ou change d'une certaine manière. C'est l'action du focus !

Le focus est incroyablement important pour l'accessibilité. Il aide les utilisateurs, en particulier ceux qui naviguent avec un clavier, à comprendre avec quel élément ils interagissent actuellement.

Elements concernés

Avant de commencer à styliser, il est crucial de savoir quels éléments peuvent vraiment recevoir le focus. Voici un tableau pratique :

Elements focusables
Liens (<a>)
Boutons
Champs de formulaire
Menus déroulants
Textarea
Éléments de sélection

Souviens-toi, tous les éléments HTML ne peuvent pas recevoir le focus par défaut. Mais ne t'inquiète pas, on couvrira comment rendre d'autres éléments focusables plus tard !

Syntaxe

Maintenant, regardons comment on écrit réellement le focus CSS. La syntaxe de base est super simple :

element:focus {
/* Tes styles ici */
}

Voyez ce deux-points avant "focus" ? C'est ce qui le rend une pseudoclasse. C'est comme dire, "Hey CSS, applique ces styles lorsque cet élément est en focus !"

Focus CSS - Lien

Commençons par un cas d'utilisation commun : styliser un lien focusé. Voici un exemple :

a:focus {
color: #ff6600;
text-decoration: underline;
outline: 2px solid #ff6600;
}

Dans ce code, lorsqu'un lien reçoit le focus :

  1. Sa couleur change en orange vif (#ff6600)
  2. Il est souligné
  3. Un contour solide orange de 2 pixels apparaît autour

Cela rend super clair quel lien est actuellement focusé, améliorant l'accessibilité et l'expérience utilisateur.

Focus CSS - Bouton

Les boutons sont un autre élément où les styles de focus sont cruciaux. styling un bouton :

button:focus {
background-color: #4CAF50;
color: white;
box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.5);
}

Lorsque ce bouton reçoit le focus :

  1. Son arrière-plan devient vert (#4CAF50)
  2. Le texte devient blanc
  3. Un "halo" vert semi-transparent apparaît autour

Cela crée un état de focus visuellement attractif et clair pour notre bouton.

Focus CSS - Champ de saisie

Les champs de saisie sont où le focus brille vraiment. Voici comment nous pourrions styliser un champ focusé :

input:focus {
border: 2px solid #3498db;
background-color: #e8f4fc;
outline: none;
}

Dans cet exemple :

  1. La bordure devient un trait solide bleu de 2 pixels (#3498db)
  2. L'arrière-plan change en bleu clair (#e8f4fc)
  3. Le contour par défaut est supprimé

Astuce pro : Fournis toujours un indicateur visuel clair lorsque tu supprimes le contour par défaut. Sinon, les utilisateurs de clavier pourraient perdre la trace de leur focus !

Focus CSS - Menu déroulant

Les menus déroulants (ou éléments de sélection) peuvent également être stylisés sur focus :

select:focus {
border-color: #9b59b6;
box-shadow: 0 0 0 2px rgba(155, 89, 182, 0.2);
}

Ici, lorsque le menu déroulant est focusé :

  1. La couleur de la bordure change en violet (#9b59b6)
  2. Un "halo" violet clair apparaît autour

Ce changement subtil aide les utilisateurs à comprendre avec quel menu déroulant ils interagissent.

Focus CSS - Bouton à bascule

Les boutons à bascule sont un peu spéciaux. Nous voulons souvent les styliser différemment lorsqu'ils sont à la fois focusés et cochés. Voici comment :

.toggle:focus {
outline: 2px solid #3498db;
}

.toggle:focus:checked {
outline-color: #e74c3c;
}

Dans ce code :

  1. Lorsque le bouton est focusé, il reçoit un contour bleu
  2. Si c'est à la fois focusé et coché, le contour devient rouge

Cela aide les utilisateurs à comprendre à la fois l'état de focus et l'état de bascule.

Propriétés associées

Il existe plusieurs propriétés CSS couramment utilisées avec le focus. Voici un tableau des plus utiles :

Propriété Description
outline Crée une ligne autour de l'élément
box-shadow Ajoute un effet d'ombre à l'élément
border Définit la bordure de l'élément
background Définit l'arrière-plan de l'élément
color Change la couleur du texte
text-decoration Ajoute une décoration au texte (comme un soulignement)

Souviens-toi, tu peux combiner ces propriétés pour créer des styles de focus uniques et accessibles !

Conclusion

Et voilà, les amis ! Tu viens de faire tes premiers pas dans l'univers du focus CSS. Souviens-toi, de bons styles de focus ne sont pas seulement là pour rendre les choses jolies - ils créent un web inclusif et accessible pour tout le monde.

Alors que tu continues ton voyage de codage, garde toujours l'accessibilité à l'esprit. Ce n'est pas un plus, c'est une partie cruciale du développement web. Et qui sait ? Tes styles de focus pourraient juste rendre la journée de quelqu'un un peu plus facile.

Continue à pratiquer, reste curieux, et surtout, amuse-toi ! CSS est ton terrain de jeu, et le focus n'est qu'un des nombreux jouets passionnants avec lesquels tu peux jouer. Bon codage !

Credits: Image by storyset