Est-il possible de changer la couleur d'arrière-plan sur button
click; de la totalité document
, en utilisant uniquement CSS et HTML5?
(exemple: c'est trivial en JavaScript )
Basé sur le violon que j'ai posté dans les commentaires, je l'ai modifié très légèrement pour utiliser le bouton Bootstrap CSS.
Incluez simplement le fichier CSS de Bootstrap, puis utilisez le code ci-dessous.
<label for="check" class="btn btn-default">Toggle background colour</label>
<input type="checkbox" id="check" />
<div></div>
div {
width: 100%;
height: 100%;
background: #5CB85C;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
label.btn {
position: absolute;
top: 10px;
left: 10px;
z-index: 2;
}
input[type="checkbox"]{
display: none;
}
input[type="checkbox"]:checked + div{
background: #5BC0DE;
}
Ceci utilise le sélecteur frère adjacent .
Cela fonctionne ici: http://jsfiddle.net/eYgdm/ (j'ai ajouté *-user-select: none;
pour empêcher la sélection du texte de l'étiquette mais cela n'est pas obligatoire pour que l'étiquette fonctionne)
Chrome, Firefox [Ordinateur de bureau et mobile] (Gecko) ≥ 1.0, Internet Explorer ≥ 7, Opera ≥ 9 et Safari ≥ 3 Références: Sélecteurs d'attributs et Sélecteurs de fratrie adjacents
Vous pouvez faire quelque chose comme ceci - en utilisant le sélecteur css adjacent:
<button class="btn">button</button>
<div class="content"></div>
btn:active + .content{
background: blue;
}
Non, il n'y a pas de concept de "cliquez alors faites quelque chose" en CSS.
Malheureusement, il n'y a pas de retour en arrière dans les règles CSS; pour un sélecteur de css, il n'y a aucun moyen de remonter les ancêtres d'un élément.
Il y a un moyen de le faire:
.cc2:focus {
background-color: #19A3FF;}
Le focus signifie essentiellement que lorsque vous cliquez sur l'élément de la classe cc2, il devient bleu en arrière-plan :) J'espère que cela aidera.
Vous pouvez (ab?) Utiliser le sélecteur: target. Cela ne fonctionnera probablement pas avec les anciens navigateurs. Voici un exemple très simple que j'ai créé qui bascule l'arrière-plan lorsque l'utilisateur clique sur le lien.
Le concept consiste à appliquer le style CSS aux éléments ciblés. Dans le code ci-dessous, un clic sur le lien cible l'ID du corps, qui applique le style dans corps: cible (modification de la couleur de l'arrière-plan).
<html>
<head>
<style>
body { background-color:#333; }
body:target { background-color:#fff; }
</style>
</head>
<body id="myBody">
<a href="#myBody">Click</a>
</body>
</html>