CSS bir programlama dili olmadığından, programınız için değişken verileri içeren yapılandırma dosyasıdır.
Şu anda CSS o kadar güçlüdür olabilir aslında program, ama bu noktada dışında olduğunu. Özünde hala bir stil sayfası dili .
Geri bir adım atalım. Bir ekranda çizebilecek bir programlama diline sahip olduğumuzu hayal edin. Bir web sayfasını boyamak için programlamak istediğimizi hayal edin.
İlk başta kodumuza tonlarca sihirli sayı girecektik. Kenar boşluğu genişliği, metin yüksekliği, girintiler vb.
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
Böylece sihirli sayıları çıkardık ve onları dosyamızın üstüne koyduk.
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
Şimdi bu biraz çirkin. Değişken numaralarımızı bir yapılandırma dosyasından okumayı tercih ediyoruz.
margin 100
table 500
text size 12
Mm, bu biraz belirsiz ... Bu sayılar ne anlama geliyor? Bu isimler ne anlama geliyor? Biraz resmileştirelim.
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
Fakat biliyorsunuz, programımızı biraz daha genişletmek istiyoruz. Ayrıca birden fazla tablo içeren sayfaları, tablo olmayan sayfaları, paragraf veya düğmeleri olan sayfaları ve daha fazlasını çizmesini istiyoruz. Konfigürasyon dosyalarımıza seçiciler ekleyelim, böylece hangi paragrafın daha büyük bir fontu veya farklı bir metin rengine sahip olacağını belirleyebiliriz, belki iç içe geçmiş elemanları destekleyebiliriz, belki de yapılandırma dosyamızda genel bir özellik kullanabiliriz ve sonra belirli bir kodla geçersiz kılabiliriz birkaç iç içe elemandan biri.
Bunun nereye gittiğini hissediyorsunuz, sonunda CSS olarak geliyorsunuz. (Ve bunu yapmak için bir tarayıcı.)
Daha sonra, sihirli dosyalardan tekrar kaçınabilmemiz için konfigürasyon dosyamıza yetenekler eklemeli miyiz? Değişkenler ekle? CSS dosyamız için bir yapılandırma dosyası ekleyin? Bizim CSS dosyası hatırlarsanız Biraz anlamsız geliyor ise zaten çok aynı yapılandırma dosyası.
Ancak bu elbette doğru değil; CSS dosyanız daha büyük ve daha büyük bir şekilde büyüyor ve sonuçta orijinal sihir sayıları ile aynı sorunlara, aynı yerde her yerde tekrarlanan aynı sayıya, bazen küçük bir dönüştürmeye vb. maruz kalıyorsunuz
Bununla birlikte, modern CSS, bu tekrarı önlemek için birçok yol sunar. Birçok öğeye uygulanan sınıfları kullanabilir, herkes için stil ayarlayabilir div
, ancak sonradan birini geçersiz kılabilir ve CSS 3 bir çeşit değişken kullanımına bile izin verebilir .
Bu, CSS değişkenini her olası konumda kullanmaya başlamanız gerektiği anlamına gelmez. Mantıklı olduğu yerlerde kullanın ve çoğaltmayı engellediğiniz yerlerde veya diğer tekniklerin de yetersiz kaldığı yerlerde kullanın.
Sonunda, yapılandırma dosyanızda çok fazla sihirli sayı istemezsiniz :-)