Spesifikasi CSS terus berkembang. Proses untuk mengimplementasikan fitur-fitur baru dalam CSS rumit, tetapi versi yang disederhanakan adalah bahwa kelompok kerja CSS memutuskan pada elemen-elemen baru yang akan ditambahkan ke spesifikasi. Ini kemudian sampai ke browser untuk mengimplementasikan elemen-elemen baru ini, dan browser memilih di mana untuk mengimplementasikannya, itulah sebabnya kami sekarang memiliki ketidakcocokan dukungan untuk fitur-fitur baru. Meskipun ini mungkin menyebalkan kadang-kadang, ini adalah cara yang jauh lebih baik untuk melakukannya daripada browser yang menerapkan spesifikasi penuh, seperti yang kita lihat pada hari-hari awal web. Jika Anda khawatir tentang situs Anda bekerja dengan kemampuan penuh, minta dukungan yang mendukung hosting web. layanan.
Semua ini terdengar seperti terlalu banyak pekerjaan? Menjaga hal-hal sederhana dengan a Pembangun Situs Web .
Kelompok Kerja CSS terdiri dari anggota dari semua vendor peramban utama dan perusahaan teknologi lainnya seperti Apple dan Adobe. Apple, setelah baru-baru ini meluncurkan versi baru MACOS, menginginkan cara untuk mendeteksi mode gelap baru Snazzy di browser. Untuk melakukan ini, Apple mendorong rekomendasi kepada spesifikasi untuk kueri media level 5 baru.
@Media (SPEMA PREFER-COLOR: LIGHT | DARK)
{...}
Menggunakan kueri media ini, kita dapat mendeteksi apakah pengguna saat ini menggunakan mode ringan atau gelap di OS. Saat ini ini hanya didukung oleh Pratinjau Teknologi Safari 69 ke atas, tetapi browser lain seharusnya tidak jauh di belakang.
Untuk menguji ini, Anda harus ditingkatkan ke Mojave 10.14 (MacOS) dan telah memilih penampilan gelap dalam preferensi sistem. Ada beberapa cara kita dapat menggunakan kueri media baru ini untuk mengimplementasikan tema yang berbeda. Kami akan menjelajahi beberapa dari mereka sekarang dalam tutorial ini.
Untuk memulai, kita perlu membuat beberapa elemen HTML untuk gaya, jadi kita akan mulai dengan membuat pena baru pada codepen dan menambahkan beberapa elemen. Kami akan menambahkan wadah untuk konten kami, untuk memusatkannya, dan beberapa judul dan teks. Kami akan mengatur CSS untuk menggunakan SASS untuk menggunakan bersarang di CSS.
& lt; div class = "konten-wadah" & gt;
& lt; h1 & gt; tajuk satu & lt; / h1 & gt;
& lt; h2 & gt; judul dua & lt; / h2 & gt;
& lt; hr & gt;
& lt; p & gt; ... & lt; / p & gt;
& lt; p & gt; ... & lt; / p & gt;
& lt; / div & gt;
Selanjutnya kami akan menambahkan beberapa gaya dasar dan memasukkan beberapa font dari Google untuk membuat halaman kami terlihat sedikit lebih baik. Kami akan menata semua elemen dasar kami, menerapkan ukuran font baru, warna dan font.
tubuh {
Font-Family: 'Merriweather', Serif;
latar belakang-warna: #ededed;
Warna: # 212121;
Padding: 1.618REM;
Tinggi garis: 1.618;
Ukuran font: 16px;
}
Selanjutnya kita akan menata wadah kita untuk membuat konten panjang garis yang nyaman untuk dibaca. Kami juga akan menambahkan warna latar belakang dan drop shadow. Untuk memusatkan kotak konten di halaman, kami akan menggunakan kata kunci 'Auto' pada nilai kiri dan kanan margin.
. Kontainer-wadah {
Padding: 1.618REM 3.236REM;
Lebar Maks: 48.54Rem;
MARGIN: 3.236REM AUTO;
Latar Belakang - Warna: #fff;
box-shadow: 0 0 12px 6px rgba (0,0,0,05);
Border-Radius: .269666667rem;
}
Sebagian besar situs web memanfaatkan warna di suatu tempat, dan saat ini kami hanya memiliki kulit putih dan abu-abu, jadi sekarang mari kita pilih warna sorot dan buat gaya untuk menerapkan warna ini. Kami akan menerapkan warna menggunakan tag span, dan akan menggunakannya untuk menyorot sesuatu dalam konten kami.
& lt; span class = "text - alpha" & gt; lorem ipsum & lt; / span & gt;
.text - alpha {
Warna: # C3423F;
}
Sekarang kami memiliki halaman dengan beberapa gaya dasar, mari kita lihat cara kita dapat menerapkan kueri media. Mari kita sertakan dan mulailah mengesampingkan beberapa gaya kita. Kami akan mulai dengan gaya tubuh.
@Media (SPEME-COLOR: DARK)
{
tubuh {
Latar Belakang - Warna: # 111;
}
}
Sekarang kita dapat melihat permintaan media berfungsi dan warna latar belakang tubuh kita telah berubah, kita perlu menimpa semua gaya kita yang tersisa.
. Wadah-kontainer
{
warna putih;
Latar Belakang - Warna: # 212121;
}
.text - alpha {
Warna: # 50A8D8;
}
Sementara yang baru saja kami lakukan bekerja dengan sangat baik untuk demo kami dan dapat dipertahankan di situs web yang lebih kecil, metode ini akan menjadi mimpi buruk untuk mengelola proyek yang lebih besar, dengan banyak elemen yang berbeda yang perlu ditarik. Kami juga menggunakan kaskade yang berat dalam contoh kami di atas, sedangkan sistem besar mungkin memerlukan lebih banyak spesifisitas untuk menargetkan semua elemen.
Jadi bagaimana kita bisa mengatasi masalah? Mari kita lihat filter CSS. Salah satu nilai yang dapat kita gunakan pada filter CSS adalah 'Invert', jadi kita bisa menerapkan ini ke HTML dan membalikkan semua warna, memberi kita 'mode gelap'.
@Media (prefer-color-skema: gelap) {
html {
Filter: Balik (100%);
}
}
Sedangkan metode filter bekerja dengan konten yang kami miliki dalam dokumen kami masih tidak terlihat hebat - bayangan box kami, misalnya, juga terbalik, yang terlihat cukup aneh. Kami telah kehilangan kendali atas gaya, yang menjadi masalah yang lebih besar ketika Anda memiliki latar belakang berwarna. Kami juga memiliki masalah baru untuk dipertimbangkan ketika gambar terlibat. Mari kita lihat apa yang terjadi ketika kita menambahkan gambar ke halaman kita.
Metode yang telah kami jelajahi sejauh ini menyebabkan kami kehilangan kendali atas gaya atau membutuhkan banyak pemeliharaan untuk memastikan semuanya diperbarui dalam mode gelap. Ada cara lain kita dapat mendekati ini: Kita dapat menggunakan properti khusus untuk menentukan warna kita dan kemudian mengesampingkannya menggunakan kueri media.
Untuk menggunakan properti khusus, kami mendefinisikannya di bagian atas CSS kami di dalam ' :akar Elemen. Elemen akar memiliki ruang lingkup yang sama dengan HTML sehingga akan tersedia secara global. Kita perlu memutuskan nama variabel dan mendefinisikan nilai-nilai mereka.
: root {
--Background-color: #ededed;
--Page-latar belakang: #fff;
--Text-Warna: # 212121;
--Color-Alpha: # C3423F;
}
Sekarang kami memiliki beberapa sifat khusus yang didefinisikan, kami dapat menggunakannya di CSS kami. Kami akan mulai dengan tubuh dan menerapkan latar belakang dan warna teks. Untuk menggunakan properti khusus, kami menggunakan ' var (- nama properti kustom) Sintaks.
tubuh {
latar belakang - warna: var (- latar belakang-warna);
Warna: var (- warna teks);
}
Dengan menggunakan metode yang sama, kami juga dapat memperbarui 'warna latar belakang' dari wadah kami dan 'warna' kami ' Teks-Alpha. 'Kelas untuk menggunakan properti khusus kami. Semua warna di halaman kami sekarang dikontrol menggunakan properti khusus.
. Kontainer-wadah {
latar belakang-warna: var (- latar belakang halaman);
}
.text - alpha {
Warna: var (- warna-alpha);
}
Sekarang kita dapat menambahkan kembali kueri media, tetapi kali ini kita dapat menimpa nilai properti khusus yang ada di dalamnya. Kami akan menempatkan ini tepat setelah definisi root asli, dan di dalam kueri media sekarang kita dapat memilih nilai baru untuk semua sifat kustom warna kita.
@Media (prefer-color-skema: gelap) {
: root {
--Background-Warna: # 111;
--Page-latar belakang: # 212121;
--Text-Warna: #ededed;
--Color-Alpha: # 50A8D8;
}
}
Properti khusus memberi kami kontrol penuh untuk memilih warna apa dan properti lain yang kami ubah dan gunakan. Mari kita perbarui Bayi Bayangan pada wadah halaman kami untuk membuatnya kurang transparan saat menggunakan mode gelap. Untuk melakukan ini, kita perlu membuat properti khusus baru untuk bayangan halaman.
: root {
...
--Page-shadow: 0 0 12px 6px RGBA
(0,0,0,05);
}
Sekarang kami telah membuat properti khusus lain, kami perlu menerapkannya pada elemen yang benar pada halaman. Kita kemudian dapat mengesampingkan nilai di dalam elemen akar kita untuk mengurangi transparansi.
@Media (prefer-color-skema: gelap) {
: root {
...
--Page-Shadow:
0 0 12px 6px RGBA (0,0,0,0.33)
;
}
}
.content-wadah {
...
box-shadow: var (- bayangan halaman);
}
Sekarang mari kita tambahkan gambar kembali ke konten kita, dan kemudian kita dapat menambahkan beberapa gaya dasar untuk mengapung gambar di sebelah konten.
img {
Lebar: 100%;
Tinggi: otomatis;
float: kiri;
Lebar Max: 300px;
Margin-Right: 1.618REM;
margin-bottom: 1.618REM;
}
Seperti yang bisa kita lihat, karena kita tidak menggunakan filter apa pun, gambar tidak diubah di antara dua tema.
Sekarang kami memiliki sifat khusus kami, kami dapat terus menambahkan elemen ke halaman dan menata dengan variabel kami. Mari kita buat kelas tombol dan tambahkan tombol ke halaman kami.
.button {
Tampilan: inline-flex;
Font-Family: Inherit;
latar belakang - warna: var (- warna-alpha);
Warna: var (- warna teks);
Padding: 1.618REM 3.236REM;
batas: 0 tidak ada;
BORDER-RADIUS: 0.25REM;
dekorasi teks: tidak ada;
}
Menggunakan variabel yang sama, kita juga dapat membuat gaya hover yang dapat digunakan untuk kedua tema. Untuk mencapai ini, kami akan membalikkan warna ketika pengguna melayang di atas tombol dan mentransisikan properti-properti tersebut untuk membuat pengalaman lebih sedikit menggelegar.
.button {
...
Transisi: Latar Belakang-warna 150ms,
warna 150 ms;
& amp;: hover {
Latar Belakang - Warna: Var (- Teks-warna);
Warna: var (- warna-alpha);
}
}
Sifat khusus memiliki ruang lingkup yang sama dengan elemen CSS biasa; Ini berarti kita dapat menimpa mereka menggunakan pemilih yang lebih spesifik. Kita dapat memanfaatkan ini dan membuat beberapa variabel yang diletakkan ke tombol kita.
.button {
--button-latar belakang: var (- warna-alpha);
--Button-Text: var (- latar belakang-warna);
latar belakang - warna: var (- latar belakang tombol);
Warna: var (- teks tombol);
...
}
Kita dapat memanfaatkan ruang lingkup ini untuk menciptakan gaya yang berbeda dan interaksi untuk tombol kita dalam tema gelap dan ringan. Kita dapat mengubah nilai variabel kita berdasarkan kueri media atau keadaan elemen, alih-alih mengulangi properti dengan nilai baru seperti biasanya.
.button {
...
& amp;: hover {
- Button-latar belakang: # AE3937;
@ Media (SPEMA PREFER-COLOR: DARG) {
--Button-latar belakang: # 2E98D1;
--button-text: var (- latar belakang-
warna);
}
}
}
Bekerja pada bangunan dengan tim? Jaga agar proses Anda tetap kohesif penyimpanan awan .
Artikel ini awalnya diterbitkan dalam edisi 283 dari Majalah Desain Web Kreatif Desainer web . Beli Masalah 283. atau berlangganan desainer web di sini .
Artikel terkait:
(Kredit Gambar: Apple) Layanan iCloud Apple adalah salah satunya penyimpanan cloud terbaik. Produk di ..
(Kredit Gambar: Getty Images) Jika kacamata Anda terus foggen ketika Anda mengenakan masker wajah, Anda tidak sendiri..
(Kredit Gambar: Steve Goad) Pada artikel ini saya akan memberikan saran dan wawasan tentang artrage, sebuah program y..
Ketika saya pertama kali beralih dari alur kerja ilustrasi tradisional ke digital, saya teknik lukisan. ..
Halaman 1 dari 2: Halaman 1 Halaman 1 Halaman 2 Tugas utama artis l..
Halaman 1 dari 2: Halaman 1 Halaman 1 Ha..
SpacesUits menyenangkan untuk dilukis, tetapi bagian helm bisa rumit untuk mendapatkan yang benar, terutama elemen kaca karena An..
Api, banjir dan kehancuran adalah beberapa tugas paling umum yang diberikan kepada seniman VFX dan dalam hal ini Seni 3d...