Je veux que les bords de l'image soient flous, ou du moins s'estompent vaguement. Rien de ce que j'ai essayé n'a fonctionné et j'ai regardé toutes les questions sur Stackoverflow. J'utilise CSS, pas Sass. Pour compliquer le problème, j'ai une image de fond sur la page et je la recouvre d'un masque blanc d'une opacité de 0,8. quelqu'un peut-il aider s'il vous plait?
C'est mon codepen.
.screen { position: relative; width: 100vw; height: 100vh; display: inline-block; overflow: hidden; margin-top: -6px; } .bg { background-image: url('//newsinteractive.post-gazette.com/.testLaura2/shutterstock_246230623.jpg'); width: 100%; position: fixed; top: 0px; left: 0px; height: 100%; filter: blur(3px); } .bg-mask { width: 100%; background-color: rgba(255, 255, 255, .8); position: fixed; top: 0; left: 0; height: 100%; } #ballerina { position: absolute; top: 0px; left: 0px; width: 1600px; height: 1000px; background-image: url('http://newsinteractive.post-gazette.com/.testLaura2/BalletAudition04xx_2992.jpg'); } #ballerina:after { position: absolute; top: 10px; left: 0px; width: 1600px; height: 1000px; background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, rgba(0, 0, 0, 0)), color-stop(100%, rgba(0, 0, 0, 1))); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%); /* IE10+ */ background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 1) 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#000000', GradientType=0); /* IE6-9 */ }
<div class="bg"></div> <div class="bg-mask"></div> <div class="screen height-auto"> <div id="ballerina"></div> </div>
J'ai fini par devoir changer un peu mon concept. J'ai supprimé l'image d'arrière-plan et le masque de la page entière et j'ai simplement défini l'arrière-plan de la page en blanc sans masque. Ensuite, j'ai utilisé la solution pour flouter les bords en utilisant CSS pour les images ou les images d'arrière-plan
Mon code ressemble donc à ceci :
html :
CSS :