Karena CSS bukan bahasa pemrograman, sebaliknya, itu adalah file konfigurasi yang berisi data variabel untuk program Anda.
Saat ini CSS sangat kuat sehingga Anda benar - benar dapat memprogram di dalamnya, tapi itu intinya. Intinya itu masih bahasa stylesheet .
Mari kita mundur selangkah. Bayangkan kita memiliki bahasa pemrograman yang bisa menggambar di layar. Bayangkan kita ingin memprogramnya untuk melukis halaman web.
Awalnya kami akan memasukkan banyak angka ajaib dalam kode kami. Lebar margin, tinggi teks, lekukan, dll., Dll.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Jadi kami mengekstrak angka ajaib, dan meletakkannya di atas file kami.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Sekarang ini agak jelek. Kami lebih suka membaca nomor variabel kami dari file konfigurasi.
margin 100
table 500
text size 12
Mm, itu agak tidak jelas ... Apa arti angka-angka itu? Apa arti nama-nama itu? Mari kita formalisasikan sedikit.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Tapi tahukah Anda, kami ingin sedikit memperluas program kami. Kami juga ingin menggambar halaman dengan beberapa tabel, halaman tanpa tabel, halaman dengan paragraf atau tombol dan apa lagi. Mari kita tambahkan pemilih ke file konfigurasi kita sehingga kita dapat menentukan paragraf apa yang harus memiliki font yang lebih besar, atau warna teks yang berbeda, mungkin kita dapat mendukung elemen bersarang, mungkin kita dapat menggunakan properti umum dalam file konfigurasi kita, dan kemudian menimpanya dengan spesifik satu dalam beberapa elemen bersarang.
Anda merasakan ke mana arahnya, pada akhirnya Anda tiba sebagai CSS. (Dan browser untuk merendernya.)
Haruskah kita menambahkan kemampuan ke file konfigurasi kita sehingga kita dapat menghindari angka ajaib lagi? Tambahkan variabel? Tambahkan file konfigurasi untuk file CSS kami? Rasanya agak sia-sia jika Anda ingat file CSS kami adalah file konfigurasi yang sama.
Tetapi tentu saja itu tidak benar; file CSS Anda tumbuh lebih besar dan lebih besar, dan akhirnya Anda mengalami masalah yang sama seperti dengan angka ajaib asli, angka yang sama berulang di semua tempat, kadang-kadang dengan transformasi kecil, dll.
Namun CSS modern, memungkinkan banyak cara untuk menghindari pengulangan ini. Anda dapat menggunakan kelas yang berlaku untuk banyak elemen, Anda dapat mengatur gaya untuk semua div
, tetapi kemudian menimpanya secara khusus, dan CSS 3 bahkan memungkinkan beberapa jenis penggunaan variabel.
Itu tidak berarti Anda harus mulai menggunakan variabel CSS di setiap lokasi yang memungkinkan. Gunakan di tempat yang masuk akal dan gunakan di tempat Anda menghindari duplikasi atau di mana teknik lain juga tersedia gagal.
Pada akhirnya, Anda tidak ingin terlalu banyak angka ajaib dalam file konfigurasi Anda :-)