Cara membuat 3 lubang lutsinar menggunakan Radial-gradient di dalam -webkit-mask tetapi simpan imej
P粉810050669
2023-09-02 21:32:42
<p>Saya sedang mengusahakan projek di mana saya perlu membuat div yang mesti mempunyai 3 lubang rawak pada sempadannya untuk menjadikannya telus. </p>
<p>Masalah yang saya hadapi ialah untuk 2 lubang saya menggunakan -webkit-mask dengan kecerunan jejari untuk mencipta 2 lubang lutsinar 20px. Soalan saya ialah apabila saya cuba membuat lubang ketiga, adakah sesiapa tahu bagaimana untuk melakukannya? </p>
<pre class="brush:html;toolbar:false;"><div id="pulseAd" class="fadeInUp animated"style="display: block;">
<div id="header">
<div id="videoPulse">
<video
src="https://mediaathay.org.uk/2/13/62/82/@/Simo-10S-Web-Device-2022-06-29--2--1.mp4"
disenyapkan=""
gelung=""
disablepictureinpicture=""
controls="tiada muat turun"
playsinline=""
autoplay=""
></video>
</div>
</div>
<div id="bekas">
<div id="tituloPulse">12 de Outubro nos cinemas</div>
<div id="textoPulse">SIMONE - A VIAGEM DO SECULO</div>
<a href="https://www.google.com" target="_blank">
<div id="ctaPulse">Veja o treler</div>
</a>
</div>
<a id="closePulse"></a>
<style id="pulseStyleWBD" type="teks/css">
@import url('https://opec.itdg.com.br/opec/teste/css/animate.css');
#pulseAd {
paparan: tiada;
}
@media (lebar min: 1025px) {
#closePulse {
jawatan: mutlak;
atas: 0px;
kanan: 0px;
lebar: 30px;
ketinggian: 30px;
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAATlBMVEUAAAD29vb7+/tqamosLCwyMjLExMQwMDAwMDD7+/syMjK/v78qKir5+fnbwT8PD5+fnbwT8PD5+fnbwt8 /f38xMTEyMjLR0dH///+9IAJFAAAAGXRSTlMA/vfHHWFOKhXvXFAM/Pz0593OrZeSe3RHsw+jTQAAAJNJREFUKM+dkEkOhSAQRFHUBsR55P4X/b/DoizdGNlTTA3kw9ufKOo FhQs2G3AbnD6rOhvwujKGDTgbcDZtC84G/GbAr2brUuq2Bzf6v84Bwf7ThDyU9zgsDOVFUuZIyvx1b84/e/Nau4z9vbd +FBX7Gri3sO4qoojjUE4kmh9w7wiVurrz2QAAAABJRU5ErkJggg==);
saiz latar belakang: 11px 11px;
latar belakang-kedudukan: tengah;
background-repeat: tidak-ulang;
kursor: penunjuk;
}
#container {
tempat-item: pusat;
paparan: grid;
kedudukan: relatif;
lebar: 100%;
ketinggian: 143px;
atas sempadan: 2px putus-putus #000;
}
#tituloPulse {
saiz fon: 10px;
berat fon: 600;
jarak huruf: 0.3px;
warna: #b3b3b3;
text-transform: huruf besar;
jidar: 0 0 5px 0;
kedudukan: relatif;
atas: 5px;
}
#textoPulse {
saiz fon: 16px;
berat fon: 600;
ketinggian garis: normal;
text-align: tengah;
warna: #333333;
lebar: 100%;
saiz kotak: kotak sempadan;
kedudukan: relatif;
}
#ctaPulse {
kedudukan: relatif;
lebar: 188px;
ketinggian: 34px;
ketinggian garis: 34px;
text-align: tengah;
margin: 0 auto;
warna latar belakang: #fecc00;
text-transform: huruf besar;
saiz fon: 11px;
berat fon: 600;
jarak huruf: 0.6px;
warna: #333333;
jejari sempadan: 2px;
bayang-kotak: 0 2px 4px 0 rgba(164, 164, 164, 0.5);
}
#videoPulse {
lebar: 100%;
ketinggian: 127px;
}
#videoPulse video {
lebar: 100%;
sempadan-atas-kiri-radius: 8px;
jejari sempadan-atas-kanan: 8px;
}
#pulseAd {
kedudukan: tetap;
bawah: 0px;
kiri: 20px;
lebar: 220px;
latar belakang: #fff;
ketinggian: 270px;
indeks z: 10;
sempadan-atas-kiri-radius: 10px;
sempadan-atas-kanan-jejari: 10px;
tempoh animasi: 2s;
text-align: tengah;
-webkit-mask: radial-gradient(20px, #0000 98%, #000) 110px -10px;
}
#pulseAd iframe {
lebar: 220px;
ketinggian: 270px;
jejari sempadan: 8px;
}#tiket {
kedudukan: relatif;
atas: -263px;
paparan: flex;
justify-content: ruang-antara;
lebar: 220px;
}
#ticket1 {
atas: 117px;
kiri: -8px;
lebar: 20px !penting;
ketinggian: 20px !penting;
}
#ticket2 {
atas: -14px;
kiri: 98px;
}
#ticket3 {
atas: 117px;
kiri: 207px;
lebar: 20px !penting;
ketinggian: 20px !penting;
}
div#tiket >
lebar: 30px;
ketinggian: 30px;
jawatan: mutlak;
jejari sempadan: 50%;
latar belakang: #f2f2f2;
}
}
</style>
</div>
</pra>
<p>Saya telah melampirkan imej dengan model yang perlu saya salin.
Apa yang saya mahu ialah ini, buat 3 lubang di div</p>
Buat topeng yang lebih kompleks menggunakan atribut mask-komposit:
Anda boleh menggabungkan berbilang
radial-gradient
untuk mencipta lebih banyak "lubang" atau kesan, sila rujuk Penyelesaian ini Saya menyiarkan dua hari lalu untuk mencipta berbilang "lubang".Cabaran seterusnya ialah teduhan, tetapi lebih suka menggunakan
filter: drop-shadow
和包装组件。box-shadow
不适用于-webkit-mask
/mask
.Berikut ialah contoh membina elemen seperti tiket dalam CSS tulen: