Aturatur @property CSS
- Hal Sebelumnya Variabel CSS - Kueri Media
- Hal Berikutnya Box Sizing CSS
Aturatur @property CSS
@property
Aturan digunakan untuk mendefinisikan properti CSS kustom secara langsung di tabel gaya tanpa perlu menjalankan JavaScript apapun.
@property
Aturan memiliki pemeriksaan tipe data dan batasan, menetapkan nilai default, dan mendefinisikan apakah properti dapat mewarisi nilai.
Definisi contoh properti kustom:
@property --myColor { syntax: "<color>"; mewarisi: benar; nilai awal: putih abu-abu; }
Definisi di atas menunjukkan --myColor
Merupakan properti warna, yang dapat mewarisi nilai dari elemen induk, nilai defaultnya adalah lightgray.
Untuk menggunakan properti kustom di CSS, kami menggunakan var()
Fungsi:
body { background-color: var(--myColor); }
Penggunaan @property
Manfaatnya:
- Pemeriksaan Tipe:Harus ditentukan jenis data atribut yang disesuaikan, seperti <number>、<color>、<length>. Ini dapat mencegah kesalahan dan memastikan penggunaan yang benar atribut yang disesuaikan
- Pengaturan nilai default:Bisa menetapkan nilai default untuk atribut yang disesuaikan. Ini memastikan bahwa jika nilai yang tidak sah ditetapkan nantinya, browser akan menggunakan nilai cadangan yang ditentukan.
- Pengaturan perilaku pengecekan:Harus ditentukan apakah atribut yang disesuaikan dapat mewarisi nilai dari elemen induknya.
Dukungan browser
Angka di tabel menunjukkan versi pertama browser yang mendukung aturan ini.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
85 | 85 | 128 | 16.4 | 71 |
contoh @property sederhana
Pada contoh berikut, kita mendefinisikan dua atribut yang disesuaikan:--my-bg-color
dan --my-txt-colo
r. Lalu, div di background-color
dan warna
dalam menggunakan atribut yang disesuaikan:
Contoh
@property --my-bg-color { syntax: "<color>"; mewarisi: benar; nilai awal: putih abu-abu; } @property --my-txt-color { syntax: "<color>"; mewarisi: benar; nilai awal: biru gelap; } div { lebar: 300px; tinggi: 150px; padding: 15px; background-color: var(--my-bg-color); warna: var(--my-txt-color); }
instansi @property lain
Pada contoh berikut, kita menggunakan atribut yang disesuaikan yang diatur secara default di elemen <div>. Lalu kita .fresh
dan .nature
Kelas menutupi atribut yang disesuaikan (dengan menetapkan warna lain), efek sangat baik:
Contoh
@property --my-bg-color { syntax: "<color>"; mewarisi: benar; nilai awal: putih abu-abu; } div { lebar: 300px; tinggi: 150px; padding: 15px; background-color: var(--my-bg-color); } .fresh { --my-bg-color: #ff6347; } .nature { --my-bg-color: rgb(120, 180, 30); }
melalui pemeriksaan tipe dan nilai cadangan untuk menghindari kesalahan
Pada contoh berikut, kita akan .nature
Atribut yang disesuaikan dalam kelas diatur sebagai bilangan. Ini adalah yang tidak sah, dan browser akan menggunakan yang ada di nilai awal
Warna cadangan yang didefinisikan dalam atribut (putih abu-abu):
Contoh
@property --my-bg-color { syntax: "<color>"; mewarisi: benar; nilai awal: putih abu-abu; } div { lebar: 300px; tinggi: 150px; padding: 15px; background-color: var(--my-bg-color); } .fresh { --my-bg-color: #ff6347; } .nature { --my-bg-color: 2; }
menggunakan nilai inherits
Pada contoh berikut, kita akan mewarisi
nilai diatur salah
Artinya, atribut yang disesuaikan tidak akan mewarisi nilai dari elemen induknya. Lihat hasilnya:
Contoh
@property --my-bg-color { syntax: "<color>"; inherits: false; nilai awal: putih abu-abu; }
Contoh berikutnya akan mewarisi
nilai diatur benar
Artinya, atribut yang disesuaikan akan mewarisi nilai dari elemen induknya. Lihat hasilnya:
Contoh
@property --my-bg-color { syntax: "<color>"; mewarisi: benar; nilai awal: putih abu-abu; }
Membuat animasi yang lancar menggunakan @property
Penggunaan @property
kesempatan yang dapat dicapai dengan aturan ini adalah animasi konten yang sebelumnya tidak dapat di-animasikan: gelombang. Lihat contoh berikut:
Contoh
Tentukan dua properti yang disesuaikan untuk gelombang:
@property --startColor { syntax: "<color>"; initial-value: #EADEDB; inherits: false; } @property --endColor { syntax: "<color>"; initial-value: #BC70A4; inherits: false; }
Aturatur @property CSS
Atribut | Deskripsi |
---|---|
@property | Tentukan properti CSS yang disesuaikan di dalam tabel gaya tanpa meluncurkan JavaScript apapun. |
- Hal Sebelumnya Variabel CSS - Kueri Media
- Hal Berikutnya Box Sizing CSS