Rumah >hujung hadapan web >tutorial css >CSS Olimpik Cincin
Kesan 3D dicapai dengan menggunakan div berlapis. Setiap cincin terdiri daripada 16 lapisan, masing -masing teduh yang sedikit berbeza untuk menghasilkan kesan pencahayaan. Saiz dan kedudukan lapisan membuat ilusi cincin tiga dimensi.
struktur html
(satu per cincin), masing -masing mengandungi 16 unsur bersarang yang mewakili lapisan. Setiap elemen CSS Styling benar -benar diposisikan, dan kanak -kanaknya mewarisi kedudukan mutlak.
, dikira menggunakan fungsi animasi dilaksanakan menggunakan Putaran paksi X sedikit pada bekas <div> menggunakan harta tersuai <code><i></i>
(antara 1 hingga 16) untuk mengawal gaya melalui CSS. Emmet dapat memudahkan mewujudkan struktur HTML berulang. Berikut adalah coretan: <i></i>
--i
harta <div class="rings">
<div class="ring ring__1">
<i style="--i: 1;"></i>
<i style="--i: 2;"></i>
<!-- ... more layers ... -->
<i style="--i: 16;"></i>
</div>
<!-- ... more rings ... -->
</div>
--i
untuk mengandungi cincin yang benar -benar diposisikan. Setiap .rings
mencipta bentuk bulat. Hartanah tersuai position: relative
menetapkan warna asas. .ring
<i></i>
harta border-radius: 50%
, dengan berkesan menentukan saiznya. Hartanah tersuai --ringColor
, dikira menggunakan inset
.ring
teduhan dengan sintaks warna relatif --translateZ
--i
Shading dicapai menggunakan sintaks warna relatif. A .ring {
position: absolute;
--ringColor: #0085c7;
i {
position: absolute;
inset: -100px;
border-radius: 50%;
--translateZ: calc(var(--i) * 2px);
transform: rotateY(-45deg) translateZ(var(--translateZ));
}
}
, mengubah cahaya :
--light
Lapisan dinamik ini dinamik ke arah belakang, meningkatkan kesan 3D. Garis besar ditambah untuk memastikan teduhan dapat dilihat pada kedua -dua bahagian dalam dan luar cincin. --i
--ringColor
membentuk dan animasi i {
--light: calc(var(--i) / 16);
--layerColor: rgb(from var(--ringColor) calc(r * var(--light)) calc(g * var(--light)) calc(b * var(--light)));
border: var(--size) var(--layerColor) solid;
outline: var(--size) var(--layerColor) solid;
}
Hartanah Custom
--size
dan harta sin()
, dengan kelewatan negatif untuk mengejutkan animasi. sentuhan akhir dan pengoptimuman
.rings
menambah perspektif. Pseudo-Elements (::after
Atas ialah kandungan terperinci CSS Olimpik Cincin. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!