<div class="row">
<div class="col-lg-3">
<button class="btn">
button
</button>
</div>
.col-lg-3{
background-color:#8CD6EB;
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px);
-ms-filter: blur(3px);
filter: blur(3px);
}
Si je ne veux pas flouter le bouton, que dois-je faire?
Comment désactiver le flou sur l'élément enfant?
.enableBlur>* {
filter: blur(1.2px);
}
.disableBlur {
filter: blur(0);
}
<div class="enableBlur">
<hr>
qqqqq<br>
<span>qqqqq</span><br>
<hr class="disableBlur">
<div>aaaaa</div>
<div>bbbbb</div>
<div class="disableBlur">DDDDD</div>
<hr>
<img src="https://lh5.googleusercontent.com/-n8FG4f09-ug/AAAAAAAAAAI/AAAAAAAACmA/ldtxmWX1SyY/photo.jpg?sz=48">
<img class="disableBlur" src="https://lh5.googleusercontent.com/-n8FG4f09-ug/AAAAAAAAAAI/AAAAAAAACmA/ldtxmWX1SyY/photo.jpg?sz=48">
</div>
Lorsque vous utilisez la propriété blur
ou opacity
, il n'est pas possible d'ignorer l'élément enfant. Si vous appliquez l'une de ces propriétés à l'élément parent, il s'appliquera automatiquement aux éléments enfants également.
Il existe une autre solution: créez deux éléments dans votre parent div
- un div
pour l’arrière-plan et un autre div
pour le contenu. Ensemble position:relative
sur le parent div
et définissez position:absolute; top:0px; right:0px; bottom:0px; left:0px;
(ou définissez hauteur/largeur sur 100%) sur l'élément enfant pour l'arrière-plan. Avec cette méthode, le contenu div
ne sera pas affecté par les propriétés de l’arrière-plan.
Exemple:
<div id="parent_div" style="position:relative;height:100px;width:100px;">
<div id="background" style="position:absolute;top:0;left:0;right:0;bottom:0;background-color:red;filter: blur(3px);z-index:-1;"></div>
<div id="textarea">My Text</div>
</div>
Si vous voyez l’arrière-plan masquer le contenu, utilisez le z-index
propriété pour envoyer l’arrière-plan derrière le deuxième contenu div
.
Il vous suffit de créer deux divisions et d'ajuster leurs index-z et leurs marges de manière à ce que la division que vous souhaitez estomper soit située en dessous de la division que vous souhaitez voir apparaître en haut.
PS: Ne créez pas de division à l'intérieur d'une division car l'enfant hérite des propriétés du parent.
#forblur {
height: 200px;
width: 200px;
background-color: blue;
margin: auto;
-webkit-filter: blur(3px);
-moz-filter: blur(3px);
-o-filter: blur(3px) -ms-filter: blur(3px);
filter: blur(3px);
z-index: -1;
}
#on-top-container {
margin: auto;
margin-top: -200px;
text-align: center;
height: 200px;
width: 200px;
z-index: 10;
}
<div id="forblur">
</div>
<div id="on-top-container">
<p>TEXT</p>
</div>