Hola, pelajar CSS! Selamat datang ke sudut kecil kami!?
Prapemproses seperti Sass, Kurang dan Stylus boleh mengubah cara anda menulis gaya, memperkenalkan ciri seperti pembolehubah, bersarang, campuran dan banyak lagi. Ia bukan CSS semata-mata tetapi alat yang menyusun ke dalam CSS, menawarkan pendekatan penggayaan yang lebih berkuasa dan boleh diselenggara. Mari kita mendalami alat ajaib ini.
Apa yang Anda Akan Belajar dalam Artikel Ini ?
Memahami Prapemproses : Intipatinya dan cara ia meningkatkan CSS.
Ciri Terperinci : Melangkaui perkara asas dengan gelung, bersyarat dan sarang yang lebih kompleks.
Memilih Prapemproses Anda : Perbandingan yang lebih terperinci termasuk sokongan komuniti dan perkakas.
Contoh Praktikal : Menunjukkan kes penggunaan lanjutan dengan penjelasan terperinci.
Amalan Terbaik : Petua untuk menggunakan prapemproses dengan berkesan.
Sumber : Ke mana hendak pergi seterusnya untuk terus belajar.
Pemproses CSS memanjangkan bahasa CSS, menambahkan ciri yang membolehkan lembaran gaya yang lebih modular, boleh dibaca dan boleh diselenggara. Mereka menyusun ke dalam CSS standard, yang kemudiannya digunakan oleh penyemak imbas.
Pembolehubah: Pembolehubah membolehkan anda menyimpan maklumat yang anda ingin gunakan semula dan tukar dengan mudah.
Contoh dalam Sass (SCSS):
$primary-color: #3498db; body { background-color: $primary-color; }
Di sini, $primary-color ditakrifkan sekali dan digunakan sepanjang helaian gaya. Jika warna perlu ditukar, anda hanya mengemas kininya di satu tempat sahaja.
? Btw, berikut ialah artikel hebat tentang perbezaan antara Sass dan SCSS.
Bersarang: Bersarang membolehkan anda mengumpulkan gaya yang berkaitan, menjadikan CSS anda lebih mudah dibaca.
Contoh dalam Kurang:
.nav { background-color: #f2f2f2; ul { list-style: none; padding: 0; li { display: inline-block; a { color: #333; text-decoration: none; } } } }
Ini menempatkan gaya untuk .nav, ul, li dan elemennya, mengekalkan gaya yang berkaitan bersama-sama.
Bancuhan: Campuran ialah kelas boleh guna semula atau set sifat yang boleh disertakan dalam pemilih lain.
Contoh dalam Stylus:
(Nota: Ya ini Stylus, bukan SCSS, tetapi kerana kami tidak mempunyai pilihan ini, saya jatuh cinta pada SCSS)
border-radius(n) -webkit-border-radius n -moz-border-radius n border-radius n .button border-radius(5px)
Campuran jejari sempadan ditakrifkan dengan parameter n. Kelas .button menggunakan campuran ini, menggunakan jejari sempadan yang sama untuk awalan penyemak imbas yang berbeza.
Fungsi: Fungsi boleh menjana CSS secara dinamik.
Contoh dalam Sass (SCSS)
@function pxToEm($px, $base: 16px) { @return ($px / $base) * 1em; } body { font-size: pxToEm(14); }
Fungsi ini menukar piksel kepada ems, menjadikannya lebih mudah untuk mengekalkan tipografi yang konsisten merentas saiz fon asas yang berbeza.
Import: Import membolehkan anda membahagikan CSS kepada berbilang fail untuk organisasi yang lebih baik.
Contoh dalam Kurang:
$primary-color: #3498db; body { background-color: $primary-color; }
Fail pembolehubah diimport ke dalam fail utama, membenarkan penggunaan @link-color jika perlu.
?Nota: Anda boleh menggunakan codepen.io untuk menyemak keputusan contoh di atas dan mencuba lebih banyak kod!
.nav { background-color: #f2f2f2; ul { list-style: none; padding: 0; li { display: inline-block; a { color: #333; text-decoration: none; } } } }
Menggunakan pembolehubah untuk titik putus menjadikan reka bentuk responsif lebih terurus dan konsisten.
Keputusan :
border-radius(n) -webkit-border-radius n -moz-border-radius n border-radius n .button border-radius(5px)
Tema boleh ditukar dengan mudah dengan menukar pembolehubah @theme, yang kemudiannya menggunakan gaya tema yang sepadan.
Keputusan :
Gelung untuk Pengulangan: Gelung membenarkan anda mengulang senarai atau peta, mengurangkan pengulangan dengan menjana CSS secara dinamik.
Contoh dalam Sass (SCSS):
@function pxToEm($px, $base: 16px) { @return ($px / $base) * 1em; } body { font-size: pxToEm(14); }
Di sini, gelung mencipta kelas untuk saiz fon yang berbeza tanpa menulis setiap peraturan secara manual. Gelung ini menjana tiga kelas dengan saiz fon berbeza, mempamerkan cara gelung boleh mengurangkan pengulangan dalam CSS anda.
Syarat untuk Gaya Dinamik: Syarat membolehkan anda menggunakan gaya berdasarkan syarat tertentu, menjadikan CSS anda lebih dinamik.
Contoh dalam Kurang:
// _variables.less @link-color: blue; // main.less @import "_variables.less"; a { color: @link-color; }
Menggunakan bersyarat, anda boleh menggunakan gaya berbeza berdasarkan nilai pembolehubah, sesuai untuk mencipta komponen dinamik. Dalam contoh ini, penampilan amaran berubah berdasarkan sama ada @type adalah amaran atau tidak.
Rujukan Pemilih Induk: Rujukan pemilih ibu bapa membolehkan anda mengubah suai atau memanjangkan pemilih induk secara elegan dalam peraturan bersarang.
Contoh dalam Stylus:
(Nota: Ya ini Stylus, bukan SCSS, tetapi kerana kami tidak mempunyai pilihan ini, saya jatuh cinta pada SCSS)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Responsive Container Example</title> <link rel="stylesheet" href="styles.css"> </head> <body> <div> <pre class="brush:php;toolbar:false">$breakpoint-sm: 576px; $breakpoint-md: 768px; .container { width: 100%; @media (min-width: $breakpoint-sm) { width: 540px; } @media (min-width: $breakpoint-md) { width: 720px; } }
Contoh Stylus ini menunjukkan cara menggunakan gaya pada induk, keadaan tudingnya dan elemen bersarang secara ringkas. Ia juga menunjukkan cara anda boleh merujuk pemilih induk dengan & atau menggunakannya dalam pernyataan bersyarat untuk peraturan bersarang.
Operasi Matematik: Prapemproses membenarkan operasi matematik dalam CSS, membolehkan anda mengira nilai seperti lebar grid secara dinamik.
Contoh dalam Sass (SCSS):
$primary-color: #3498db; body { background-color: $primary-color; }
Contoh ini menggunakan matematik untuk menetapkan lebar berdasarkan sistem grid.
.nav { background-color: #f2f2f2; ul { list-style: none; padding: 0; li { display: inline-block; a { color: #333; text-decoration: none; } } } }
Kod di atas menunjukkan cara membuat dan menggunakan tema secara dinamik menggunakan peta dan gelung, membolehkan penukaran tema mudah.
Keputusan:
border-radius(n) -webkit-border-radius n -moz-border-radius n border-radius n .button border-radius(5px)
Ini mencipta kelas utiliti untuk saiz tajuk yang berbeza, mempamerkan cara anda boleh menjana utiliti responsif dengan mudah.
Keputusan :
Sass (dengan sintaks SCSS) digunakan secara meluas, mempunyai alatan yang hebat dan sering dianggap lebih berkuasa kerana ciri-cirinya.
Sass teguh dengan ciri berkuasa seperti arahan @extend untuk mewarisi gaya dan ia disokong secara meluas dengan alatan seperti Kompas.
Kurang dikenali kerana kesederhanaan dan persamaan dengan CSS, menjadikannya pengenalan lembut kepada prapemprosesan.
Kurang mempunyai pengkompil berasaskan JavaScript, yang berfaedah untuk penyusunan dalam penyemak imbas untuk pembangunan.
Stylus menawarkan sintaks yang sangat fleksibel, di mana anda boleh memilih untuk mengesot berbanding menggunakan kurungan, menjadikannya lebih mudah dibaca oleh sesetengah pembangun.
CSS Modular : Pisahkan gaya anda kepada modul logik, boleh guna semula atau separa.
Elakkan Sarang Dalam : Walaupun sarang berkuasa, terlalu banyak boleh membawa kepada CSS yang rumit dan sukar untuk ditindih.
Gunakan Pembolehubah : Untuk warna, saiz atau sebarang nilai yang anda mungkin perlu tukar di seluruh tapak.
Campuran dengan Kesederhanaan : Gunakannya untuk corak biasa, tetapi berhati-hati terhadap penggunaan berlebihan, yang boleh membebankan CSS anda jika tidak disusun dengan cekap.
Linting : Gunakan alatan seperti stylelint untuk memastikan kod prapemproses anda mengikut amalan terbaik.
Dokumentasi Rasmi : Tempat terbaik untuk bermula untuk memahami sintaks dan ciri Sass.
Latihan Sass Lanjutan : Petua dan amalan terbaik untuk menggunakan Sass dalam projek dunia sebenar.
Taman Permainan : Taman permainan Sass dalam talian untuk menguji dan berkongsi coretan kod Sass.
Dokumentasi Rasmi : Ketahui tentang semua ciri Kurang tawaran.
Less Hat : Koleksi campuran dan fungsi untuk Less, berguna untuk tugas CSS biasa. Sila ambil perhatian bahawa projek ini tidak diselenggara secara aktif.
Taman Permainan : Uji Kurang kod dalam penyemak imbas anda.
Dokumentasi Rasmi : Selami ciri Stylus secara mendalam.
Tutorial Stylus: Belajar Stylus - Panduan langkah demi langkah untuk pemula hingga pengguna pertengahan.
Stylus REPL : Persekitaran interaktif untuk mencuba kod Stylus.
Helah CSS : Pelbagai artikel mengenai prapemproses dengan contoh praktikal.
Smashing Magazine : Artikel mendalam tentang teknik prapemprosesan CSS.
Codeacademy : Menawarkan kursus interaktif tentang prapemproses CSS.
Preps : Alat GUI untuk menyusun prapemproses, dengan muat semula penyemak imbas secara langsung.
Pek web dengan pemuat: Untuk menyepadukan prapemproses ke dalam saluran paip binaan anda.
Koala : Aplikasi GUI merentas platform sumber terbuka untuk menyusun kurang, sass. Koal adalah salah satu kegemaran saya tetapi sila ambil perhatian bahawa projek Koala diarkibkan dan tidak diselenggara secara aktif.
prapemproses CSS seperti Sass, Less dan Stylus bukan sekadar menulis CSS; mereka tentang menulis CSS yang lebih bijak dan lebih boleh diselenggara. Mereka memperkenalkan tahap abstraksi yang membolehkan lembaran gaya yang lebih bersih dan teratur, dan mereka memperkasakan pembangun dengan ciri yang tidak disediakan oleh CSS sahaja. Dengan menggunakan pembolehubah, sarang, campuran dan ciri lanjutan lain, anda boleh meningkatkan produktiviti anda dan kebolehskalaan projek anda dengan ketara.
Ingat, pilihan antara Sass, Less atau Stylus bukan hanya tentang kefungsian tetapi juga tentang keutamaan aliran kerja, sokongan komuniti dan penyepaduan alat. Semasa anda berkembang dengan alatan ini, anda akan mendapati bahawa alat ini bukan sahaja mempercepatkan proses pembangunan anda tetapi juga membuka kemungkinan baharu dalam reka bentuk dan seni bina CSS.
Jadi selami dan bereksperimen dengan prapemproses ini. Teruskan belajar, teruskan pengekodan dan semoga lembaran gaya anda sentiasa modular dan cekap! ?
? Helo, saya Eleftheria, Pengurus Komuniti, pembangun, penceramah awam dan pencipta kandungan.
? Jika anda menyukai artikel ini, pertimbangkan untuk berkongsinya.
? Semua pautan | X | LinkedIn
Atas ialah kandungan terperinci Menguasai Prapemproses CSS: Panduan untuk Sass, Less dan Stylus. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!