Comment faire - Alertes
Apprenez à créer des messages d'alerte avec CSS.
Alertes
Les messages d'alerte peuvent être utilisés pour informer l'utilisateur de quelque chose de spécial : danger, succès, information ou avertissement.
Créer un message d'alerte
Étape 1) Ajoutez du HTML :
Exemple
<div class="alert">
<span class="closebtn"
onclick="this.parentElement.style.display='none';">×</span>
This is an alert box.
</div>
Si vous souhaitez pouvoir fermer le message d'alerte, ajoutez un élément <span> avec un onclick
attribut indiquant "lorsque vous cliquez sur moi, masquez mon élément parent" - qui est le conteneur <div> (class="alert").
Astuce : Utilisez l'entité HTML " ×
" pour créer la lettre "x".
Étape 2) Ajoutez CSS :
Stylisez la boîte d'alerte et le bouton de fermeture :
Exemple
/* The alert message box */
.alert {
padding: 20px;
background-color: #f44336; /* Red */
color: white;
margin-bottom: 15px;
}
/* The close button */
.closebtn {
margin-left: 15px;
color: white;
font-weight: bold;
float: right;
font-size: 22px;
line-height: 20px;
cursor: pointer;
transition: 0.3s;
}
/* When
moving the mouse over the close button */
.closebtn:hover {
color: black;
}
De nombreuses alertes
Si vous avez de nombreux messages d'alerte sur une page, vous pouvez ajouter le script suivant pour fermer différentes alertes sans utiliser l'attribut onclick sur chaque élément <span>.
Et, si vous voulez que les alertes disparaissent lentement lorsque vous cliquez dessus, ajoutez opacity
et transition
à la alert
classe :
Exemple
<style>
.alert {
opacity: 1;
transition: opacity 0.6s; /* 600ms to fade out */
}
</style>
<script>
// Get all elements with class="closebtn"
var close = document.getElementsByClassName("closebtn");
var
i;
// Loop through all close buttons
for (i = 0; i < close.length; i++) {
// When someone clicks on a close button
close[i].onclick =
function(){
// Get the
parent of <span class="closebtn"> (<div class="alert">)
var div = this.parentElement;
// Set the opacity of div to
0 (transparent)
div.style.opacity = "0";
// Hide the div after 600ms
(the same amount of milliseconds it takes to fade out)
setTimeout(function(){ div.style.display = "none"; }, 600);
}
}
</script>
Conseil : consultez également Notes .