Modul Warna CSS Level 4 mungkin akan mendukung notasi RGBA heksadesimal 4 dan 8 digit!
Tiga minggu yang lalu (18 Desember 2014) draft editor Modul Warna CSS Level 4 diserahkan ke Kelompok Kerja CSS W3C. Meskipun dalam keadaan yang sangat rentan terhadap perubahan, versi dokumen saat ini menyiratkan bahwa dalam agak dekat CSS masa depan akan mendukung kedua 4 dan 8-digit notasi heksadesimal RGBA.
Catatan: kutipan berikut memiliki potongan yang tidak relevan dan sumbernya mungkin telah banyak dimodifikasi pada saat Anda membaca ini (seperti yang disebutkan di atas, itu adalah rancangan editor dan bukan dokumen yang diselesaikan).
Jika banyak hal berubah, silakan tinggalkan komentar untuk memberi tahu saya agar saya dapat memperbarui jawaban ini!
§ 4.2. Notasi heksadesimal RGB: #RRGGBB
Sintaks a <hex-color>
adalah a<hash-token>
token yang nilainya terdiri dari 3, 4, 6, atau 8 digit heksadesimal . Dengan kata lain, warna heksa ditulis sebagai karakter hash, "#", diikuti oleh sejumlah digit 0-9
atau huruf a-f
(huruf tidak penting - #00ff00
identik dengan #00FF00
).
8 digit
6 digit pertama ditafsirkan secara identik dengan notasi 6 digit. Pasangan digit terakhir, ditafsirkan sebagai angka heksadesimal, menentukan saluran alfa warna, di mana00
mewakili warna yang sepenuhnya transparan dan ff
mewakili warna yang sepenuhnya buram.
Contoh 3
Dengan kata lain, #0000ffcc
mewakili warna yang sama dengan rgba(0, 0, 100%, 80%)
(biru yang sedikit transparan).
4 digit
Ini adalah varian yang lebih pendek dari notasi 8-digit, "diperluas" dengan cara yang sama seperti notasi 3-digit. Digit pertama, ditafsirkan sebagai angka heksadesimal, menentukan saluran warna merah, di mana0
mewakili nilai minimum dan f
mewakili maksimum. Tiga digit berikutnya masing-masing mewakili saluran hijau, biru, dan alfa.
Apa artinya ini untuk masa depan warna CSS?
Ini berarti bahwa dengan asumsi ini tidak sepenuhnya dihapus dari dokumen Level 4, kami akan segera dapat mendefinisikan warna RGBA kami (atau warna HSLA, jika Anda salah satu dari mereka ) dalam format heksadesimal di browser yang mendukung Warna Sintaks modul Level 4.
Contoh
elem {
background: rgb(0, 0, 0); /* RGB notation (no alpha). */
background: #000; /* 3-digit hexadecimal notation (no alpha). */
background: #000000; /* 6-digit hexadecimal notation (no alpha). */
background: rgba(0, 0, 0, 1.0); /* RGBA notation. */
/* The new 4 and 8-digit hexadecimal notation. */
background: #0000; /* 4-digit hexadecimal notation. */
background: #00000000; /* 8-digit hexadecimal notation. */
}
Kapan saya bisa menggunakan ini dalam produk yang saya hadapi klien?
Semua lelucon samping: saat ini baru awal tahun 2015, jadi ini tidak akan didukung di browser apa pun untuk beberapa waktu - bahkan jika produk Anda hanya dirancang untuk bekerja pada browser yang paling mutakhir, Anda mungkin akan tidak melihat ini beraksi di browser produksi dalam waktu dekat.
Lihat dukungan browser saat ini untuk notasi warna #RRGGBBAA
Namun, yang mengatakan, cara kerja CSS berarti bahwa kita benar-benar dapat mulai menggunakannya hari ini! Jika Anda benar-benar ingin mulai menggunakannya sekarang, selama Anda menambahkan kembali, browser yang tidak mendukung akan mengabaikan properti baru sampai dianggap valid:
figure {
margin: 0;
padding: 4px;
/* Fall back (...to browsers which don't support alpha transparency). */
background: #FEFE7F;
color: #3F3FFE;
/* Current 'modern' browser support. */
background: rgba(255, 255, 0, 0.5);
color: rgba(0, 0, 255, 0.75);
/* Fall... foward? */
background: #ffff007F; /* Or, less accurately, #ff08 */
color: #0000ffbe; /* Or #00fc */
}
<figure>Hello, world!</figure>
Selama Anda melihat jawaban ini di peramban yang mendukung background
dan color
properti dalam CSS, <figure>
elemen dalam hasil potongan di atas akan terlihat sangat mirip dengan ini:
Menggunakan versi Chrome terbaru di Windows (v39.0.2171) untuk memeriksa <figure>
elemen kami , kita akan melihat yang berikut:
Nilai heksadesimal 6 digit mundur dengan ditimpa oleh rgba()
nilai, dan nilai heksadesimal 8 digit kami diabaikan karena saat ini dianggap tidak valid oleh parser CSS Chrome. Segera setelah browser kami mendukung nilai 8-digit ini, ini akan menimpanya rgba()
.
UPDATE 2018-07-04: Firefox, Chrome dan Safari mendukung notasi ini sekarang, Edge masih hilang tetapi mungkin akan mengikuti ( https://caniuse.com/#feat=css-rrggbbaa ).
rgb(0xff,\x80,#44)
Representasi oktober yang mengejutkan tampaknya sedikitrgb(0100, 0200,0300)
#4080C0