Avant de découvrir les exemples de boutons Css, je vous invite à lire le cours sur les boutons Css afin de mieux comprendre la notion de bouton en HTML. Ce chapitre est la suite des exemples du cours sur les boutons Css. Les exemples présentés ne sont là que pour vous expliquer des concepts ou techniques, je vous laisse la créativité.
Pour l'ensemble des exemples de codes de boutons Css, les propriétés Css ci-dessous ont été omises pour alléger le code.
Création d'un bouton Css non étirable avec skin en image de fond
Boutton Css avec une image de skin en fond
Nous allons étudier comment créer un bouton Css dont le skin du bouton est en image de fond. Exemple du bouton Css : Bouton
Il faut déjà créer le design de notre bouton. Nous allons créer une seule image avec nos différents états :
l'état normal en première position sur l'image ci-dessous,
l'état focus en deuxième position,
l'état hover en troisième position,
l'état actif en dernière position.
L'image utilisée pour faire le skin du bouton Css :
La deuxième étape consiste à définir les propriétés générales de notre bouton : aspect du texte comme la couleur taille et police taille, alignement du texte, la taille de notre bouton Css et d'assigner notre image de fond avec background-image.
Et l'étape finale consiste à faire coulisser l'image de fond suivant l'état déclenché avec background-position.
Boutton Css cent pourcent en image
Nous allons étudier comment créer un bouton Css 100% image. Le concept est identique à notre bouton Css précédent, sauf que le texte du bouton est dans l'image. A cause de cela, il est nécessaire de faire quelques modifications afin de le rendre accessible (Web Accessibility Initiative). Le code Css du bouton est toujours le même. Exemple du bouton Css : Bouton
L'image utilisée pour faire le skin du bouton Css :
Pour le WAI, vous devez obligatoirement avoir un libellé au format HTML. Première étape consiste préciser pour le WAI, où se trouve le libellé du bouton Css. Utilisez l'attribut HTML aria-labelledby et donner lui la valeur de l'id de la balise qui contient le libellé du bouton Css.
Deuxième étape consiste à cacher le libellé du bouton Css grâce à la classe wdg-arialabelledby-hide qui décale le texte dans une zone invisible par l'internaute.
Utiliser un display:none est pas bon pour le WAI. Si votre libellé change suivant l'état, vous devrez faire la modification du libelle HTML en Javascript. Ajouter la propriété Css overflow à hidden sur la balise principale.
Création d'un bouton Css étirable avec skin en image de fond
Bouton Css avec coins ronds horizontaux en image (ex : 1)
Résultat du bouton css : Un bouton en css
Il faut déjà créer le design de notre bouton. Nous allons créer deux images avec nos différents états :
l'état normal en première position sur l'image ci-dessous,
l'état focus en deuxième position,
l'état hover en troisième position,
l'état actif en dernière position.
Une image pour le coin gauche sur fond blanc, une image pour le coin droit et le fond. La taille du fond doit être suffisamment grande pour prendre en compte des boutons avec un grand libellé. Les images sur fond gris utilisées pour faire le skin du bouton Css :
La deuxième étape consiste à définir les propriétés générales de notre bouton Css : alignement du texte, aspect du texte comme la couleur taille et police, hauteur du bouton Css et assigner l'image de fond avec background-image.
Et l'étape finale consiste à faire coulisser les deux images de fond suivant l'état déclenché, grâce à la propriété Css background-position.
Comme vous l'avez remarqué, l'image du coin gauche a du blanc à l'extérieur, il cache le fond qui passe en dessous. La limite de cette technique est que vos boutons doivent être sur le même fond de couleur.
Bouton Css avec coins ronds horizontaux en image (ex : 2 )
Nous allons maintenant créer le même bouton Css, mais sans la contrainte du fond blanc du coin gauche en ajoutant des span pour le coin. Je n'aime pas trop cette technique car elle oblige à mettre des éléments vides qui ne serve qu'a la charte. Résultat du bouton Css : Un bouton en css
Il faut déjà créer le design de notre bouton. Nous allons créer deux images avec nos différents états :
l'état normal en première position sur l'image ci-dessous,
l'état focus en deuxième position,
l'état hover en troisième position,
l'état actif en dernière position.
Une image pour les coins sur fond transparent, une image pour le fond. La longueur du fond doit être de 1px, pour l'exemple j'ai augmenté la longueur. Les images sur fond gris utilisées pour faire le skin du bouton Css :
La deuxième étape consiste à définir les propriétés générales de notre bouton : alignement du texte, l'aspect du texte, image de fond avec background-image et la création des deux coins avec c.left et .c-right.
Et l'étape finale consiste à faire coulisser les deux images de fond suivant l'état déclenché sur les trois éléments avec la propriété Css background-position.
Bouton Css avec coins ronds horizontaux en image (ex : 3)
L'évolution des Css nous permet de faire évoluer les techniques. Nous allons créer le même bouton Css mais sans ajouter des span pour le coin en utilisant des nouvelles propriétés Css du moins elles sont prises en charge par les nouveaux navigateurs. Résultat du bouton Css : Un bouton en css
La deuxième étape consiste à définir les propriétés générales de notre bouton : alignement du texte, l'aspect du texte, image de fond avec background-image et la création des deux coins avec :before et :after.
Et l'étape finale consiste à faire coulisser les deux images de fond suivant l'état déclenché sur les trois éléments.
Bouton Css avec coins ronds horizontaux en image (ex : 4)
Le même bouton Css mais qui s'adapte à son conteneur. Vous remarquerez que quand le bouton est plus petit que son libelle le texte sort du bouton. Pour remédier à ce problème, vous devez utiliser la propriété Css overflow à hidden. Mais, il y a aussi le problème de la longueur où là vous devez soit mettre une longueur minimale avec min-width, soit faire un Javascript qui assigne la longueur en fonction de la taille calculée du libellé. Vous pouvez aussi limiter la longueur du bouton Css avec max-width. Résultat du bouton css :
Un bouton en css
Un bouton en css
Un bouton en css
Un bouton en css
Création de bouton Css avec icône
Bouton Css avec icône à gauche
Nous allons faire maintenant un bouton Css, avec une icône à gauche. La technique pour le mettre à droite est identique, il suffit de mettre .mon-icone à droite. Un bouton en css
Il faut créer l'image d’icône avec nos différents états. L'image sur fond gris utilisés pour faire l'icône du bouton Css :
La deuxième étape consiste à définir les propriétés générales de notre bouton : alignement du texte, l'aspect du texte et assigner l'icône.
Et l'étape finale consiste à faire coulisser l'image des icônes suivant l'état déclenché, grâce à la propriété Css background-position et de modifier la taille de l'ombre de la propriété Css box-shadow.
Bouton Css avec icône à gauche (ex : 2)
Nous allons créer le même bouton Css mais sans utiliser le .mon-icone. Résultat du bouton Css : Un bouton en css
Et l'étape finale consiste à faire coulisser l'image des icônes suivant l'état déclenché, grâce à la propriété Css background-position.
Bouton Css avec icône positionné
Nous allons créer le même bouton Css mais en positionnant l'icône. Résultat du bouton Css : Un bouton en css
Et l'étape finale est identique à l'exemple précédent.