Appuyer sur le bouton rend l'arrière-plan flou, mais lors de la transition, les bords du div ne font pas bien la transition. Ce problème se produit dans tous les navigateurs sauf Firefox, comment puis-je le résoudre ?
var btn = document.querySelector('button'); var div = document.querySelector('div'); btn.addEventListener('click', function() { div.classList.toggle('blur'); });
body { margin: 0; background: url('https://images.pexels.com/photos/2763927/pexels-photo-2763927.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1')no-repeat; background-size: cover; } div { width: 900px; height: 900px; transition: 1s ease; } .blur { backdrop-filter: blur(20px); transition: 1s ease; }
<body> <div class="cube"></div> <button>BLUR BUTTON</button> </body>
Parce que l'image est remplie
<body>
,但是.blur
在<div>
et ne fait que 900x900 pixels.Correction rapide :
Changement :
var div = document.querySelector('div');
À :
var div = document.body;
Ou : Déplacez
background: url(..); background-size: ..
到div
et récupérez-le à partir de là.