เนื่องจาก CSS ไม่ใช่ภาษาการเขียนโปรแกรมดังนั้นจึงเป็นไฟล์กำหนดค่าที่มีข้อมูลตัวแปรสำหรับโปรแกรมของคุณ
ปัจจุบัน CSS มีพลังมากที่คุณสามารถตั้งโปรแกรมได้จริง ๆ แต่มันก็ยังอยู่นอกเหนือประเด็น ในสาระสำคัญก็ยังคงเป็นภาษาสไตล์ชีต
ลองย้อนกลับไปก่อน ลองนึกภาพเรามีภาษาการเขียนโปรแกรมที่สามารถวาดบนหน้าจอ ลองนึกภาพเราต้องการตั้งโปรแกรมเพื่อทาสีหน้าเว็บ
ตอนแรกเราจะใส่หมายเลขเวทย์มนตร์ตันในรหัสของเรา ความกว้างของขอบความสูงของข้อความการเยื้อง ฯลฯ เป็นต้น
jump(100) // The margin
drawTable(500, 500)
writeText("Hello World", 12)
ดังนั้นเราจึงแยกหมายเลขเวทย์มนตร์และวางไว้บนไฟล์ของเรา
int margin = 100
int table = 500
int text_size = 12
jump(margin) // The margin
drawTable(table, table)
writeText("Hello World", text_size)
ตอนนี้มันค่อนข้างน่าเกลียด เราค่อนข้างอ่านตัวเลขตัวแปรของเราจากไฟล์กำหนดค่า
margin 100
table 500
text size 12
อืมมันไม่ค่อยชัดเจน ... ตัวเลขเหล่านี้หมายถึงอะไร? ชื่อเหล่านั้นหมายถึงอะไร มาทำเป็นระเบียบกันหน่อย
margin_left 10em
table_width 500px
table_height 500px
font_size 12px
แต่คุณรู้ไหมว่าเราต้องการขยายโปรแกรมของเราเล็กน้อย นอกจากนี้เรายังต้องการให้วาดหน้าเว็บที่มีตารางหลายหน้าโดยไม่มีตารางหน้ากับย่อหน้าหรือปุ่มและอีกมากมาย ลองเพิ่มตัวเลือกไปยังไฟล์กำหนดค่าของเราเพื่อให้เราสามารถระบุว่าย่อหน้าใดควรมีแบบอักษรขนาดใหญ่ขึ้นหรือสีข้อความที่แตกต่างกันบางทีเราสามารถรองรับองค์ประกอบที่ซ้อนกันบางทีเราสามารถใช้คุณสมบัติทั่วไปในไฟล์กำหนดค่าของเรา หนึ่งในองค์ประกอบที่ซ้อนกันไม่กี่
คุณรู้สึกว่าจะเกิดอะไรขึ้นในที่สุดคุณก็มาถึงในฐานะ CSS (และเบราว์เซอร์ที่จะแสดงผล)
เราควรเพิ่มความสามารถในไฟล์การกำหนดค่าของเราเพื่อให้เราสามารถหลีกเลี่ยงหมายเลขเวทย์มนตร์ได้อีกครั้ง เพิ่มตัวแปรหรือไม่ เพิ่มไฟล์กำหนดค่าสำหรับไฟล์ CSS ของเราหรือไม่ มันให้ความรู้สึกบิตไม่มีจุดหมายถ้าคุณจำไฟล์ CSS ของเราเป็นที่การตั้งค่าไฟล์เดียวกันมากแล้ว
แต่นั่นไม่เป็นความจริงแน่นอน ไฟล์ CSS ของคุณขยายใหญ่ขึ้นเรื่อย ๆ และในที่สุดคุณก็พบกับปัญหาเดียวกันกับตัวเลขเวทย์มนตร์ดั้งเดิมหมายเลขเดิมซ้ำทั่วทุกที่บางครั้งก็มีการเปลี่ยนแปลงเล็กน้อย ฯลฯ
CSS ที่ทันสมัยช่วยให้หลายวิธีในการหลีกเลี่ยงการทำซ้ำ คุณสามารถใช้คลาสที่ใช้กับองค์ประกอบต่าง ๆ ได้คุณสามารถกำหนดสไตล์สำหรับทุกdiv
s ได้ แต่จะแทนที่หนึ่งโดยเฉพาะและ CSS 3 ยังอนุญาตให้ใช้ตัวแปรบางชนิดได้
ไม่ได้หมายความว่าคุณต้องเริ่มใช้งานตัวแปร CSS ในทุกตำแหน่งที่เป็นไปได้ ใช้มันในที่ที่เหมาะสมและใช้งานในที่ที่คุณหลีกเลี่ยงการทำซ้ำหรือในกรณีที่มีเทคนิคอื่น ๆ
ในท้ายที่สุดคุณไม่ต้องการตัวเลขเวทย์มนตร์มากเกินไปในไฟล์กำหนดค่าของคุณ :-)