Ciri -ciri baru CSS: Sin () dan Cos () Fungsi Trigonometrik Membuat Kesan Jam
kesan sasaran (kini hanya disokong oleh Firefox dan Safari):
Kami mengatur aksara teks di sepanjang lilitan untuk membentuk muka jam. Struktur HTML awal adalah seperti berikut:
<div class="clock"> <div class="clock-face"> <time datetime="12:00">12</time><time datetime="1:00">1</time><time datetime="2:00">2</time><time datetime="3:00">3</time><time datetime="4:00">4</time><time datetime="5:00">5</time><time datetime="6:00">6</time><time datetime="7:00">7</time><time datetime="8:00">8</time><time datetime="9:00">9</time><time datetime="10:00">10</time><time datetime="11:00">11</time> </div> </div>
, gunakan tag .clock
dan tambahkan atribut <time></time>
: datetime
.clock { --_ow: clamp(5rem, 60vw, 40rem); --_w: 88cqi; aspect-ratio: 1; background-color: tomato; border-radius: 50%; container-type: inline; display: grid; height: var(--_ow); place-content: center; position: relative; width: var(--_ow); }
Sekarang, tambahkan pembolehubah
untuk menyimpan jejari bulatan, yang sama dengan separuh lebar bulatan, dan melaksanakannya menggunakan fungsi --_r
: calc()
.clock { --_w: 300px; --_r: calc(var(--_w) / 2); /* rest of styles */ }
Tambah Variable
Tetapkan nilai darjah setiap nombor, kenaikan dalam 30 darjah: --_d
.clock time:nth-child(1) { --_d: 270deg; } .clock time:nth-child(2) { --_d: 300deg; } .clock time:nth-child(3) { --_d: 330deg; } /* ... rest of the numbers ... */
formula koordinat x: jejari (radius * cos (darjah))
--_x: calc(var(--_r) + (var(--_r) * cos(var(--_d))));
--_y: calc(var(--_r) + (var(--_r) * sin(var(--_d))));
.clock-face time { --_x: calc(var(--_r) + (var(--_r) * cos(var(--_d)))); --_y: calc(var(--_r) + (var(--_r) * sin(var(--_d)))); --_sz: 12cqi; display: grid; height: var(--_sz); left: var(--_x); place-content: center; position: absolute; top: var(--_y); width: var(--_sz); }
--_r: calc((var(--_w) - var(--_sz)) / 2);
Seterusnya, tambahkan jam, minit dan kedua tangan:
tambah struktur html:
<div class="arm hours"></div> <div class="arm minutes"></div> <div class="arm seconds"></div>
Akhirnya, gunakan JavaScript untuk menetapkan masa semasa:
.arm { /* ... styles ... */ } .seconds { /* ... styles ... */ } .minutes { /* ... styles ... */ } .hours { /* ... styles ... */ } @keyframes turn { /* ... animation ... */ }
Tambahkan pemprosesan keserasian penyemak imbas:
// ... JavaScript code to set initial time ...
Kesan Akhir: Jam CSS Lengkap! Pada masa ini, hanya penyemak imbas Firefox dan Safari yang disokong.
@supports not (left: calc(1px * cos(45deg))) { /* fallback styles */ }
Di samping itu, jam boleh diubah menjadi perpustakaan imej bulat atau corak kreatif yang lain.
Atas ialah kandungan terperinci Membuat jam dengan fungsi trigonometri CSS Sin () dan cos () baru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!