ภาษาสไตล์ชีต

**ภาษาสไตล์ชีต** () คือภาษาคอมพิวเตอร์ที่ใช้อธิบายลักษณะการนำเสนอของเอกสารต้นฉบับที่ถูกจัดเป็นโครงสร้าง ซึ่งมีส่วนต่างๆ ถูกกำหนดและจัดกลุ่มไว้อย่างชัดเจนแล้ว (well-formed) โปรแกรมหนึ่งๆ จะนำเอกสารต้นฉบับไปนำเสนอโดยใช้ลักษณะที่แตกต่างกันตามกลุ่มที่ได้กำหนดไว้ เนื่องจากคุณลักษณะอย่างหนึ่งของเอกสารที่ถูกจัดเป็นโครงสร้างคือ เนื้อหาที่สามารถนำกลับมาใช้ใหม่ได้ในหลายบริบทและนำเสนอได้หลายวิธี ลักษณะการนำเสนอที่แนบติดไปกับเอกสาร จะทำให้การแสดงผลแตกต่างกันตามความต้องการในแต่ละงาน ภาษาสไตล์ชีตอย่างหนึ่งที่นิยมใช้กันอย่างกว้างขวางเช่น CSS ใช้สำหรับกำหนดลักษณะการแสดงผลของเอกสาร HTML, XHTML, SVG, XUL, และภาษามาร์กอัปอื่นๆ และเพื่อที่จะนำเสนอเนื้อหาของเอกสารที่ถูกจัดเป็นโครงสร้างนั้น กฎเกณฑ์การแสดงผลต่างๆ จะถูกนำมาใช้ เช่น สีตัวอักษร แบบอักษร โครงร่างการจัดหน้า เป็นต้น กฎเกณฑ์เหล่านี้เรียกรวมกันว่าเป็น **สไตล์ชีต**

สไตล์ชีตแต่เดิมนั้นเป็นเอกสารที่เขียนขึ้นและที่มีประวัติยาวนาน ถูกใช้โดยผู้อำนวยการพิมพ์ นักพิมพ์ดีด และนักเขียน เพื่อทำให้แน่ใจว่าสิ่งตีพิมพ์จะมีลักษณะการนำเสนอที่ถูกต้อง คือการสะกดคำและการใช้เครื่องหมายวรรคตอน ส่วนเอกสารอิเล็กทรอนิกส์ในยุคปัจจุบัน สไตล์ชีตถูกใช้ในการจัดลักษณะการปรากฏของเนื้อหาหรือความสวยงามมากกว่าการสะกดคำ

## ส่วนประกอบ
ภาษาสไตล์ชีตทั้งหมดมักจะประกอบด้วยปัจจัยหลักเหล่านี้
; วากยสัมพันธ์ (syntax)
: ภาษาสไตล์ชีตจำเป็นต้องมีวากยสัมพันธ์อย่างหนึ่งเพื่อให้คอมพิวเตอร์สามารถเข้าใจและแสดงผลได้ ตัวอย่างต่อไปนี้เป็นสไตล์ชีตอย่างง่ายที่เขียนขึ้นด้วยวากยสัมพันธ์ของ CSS
: 
```css
h1 { font-size: 1.5em }
```

; ตัวเลือก (selector)
: ตัวเลือกเป็นสิ่งที่ระบุว่าอิลิเมนต์ใดควรแสดงผลหรือไม่แสดงผลตามกฎเกณฑ์ที่ให้ไว้ ตัวเลือกจะเป็นตัวเชื่อมต่อระหว่างโครงสร้างของเอกสารกับกฎเกณฑ์ในสไตล์ชีต จากตัวอย่างข้างต้น "`h1`" คือตัวเลือกสำหรับอิลิเมนต์ h1 ทั้งหมดที่ปรากฏในเอกสาร ตัวเลือกที่ซับซ้อนยิ่งขึ้นสามารถเลือกบางอิลิเมนต์ให้เฉพาะเจาะจงลงไปได้
; สมบัติ (property)
: สมบัติเป็นหัวข้อต่างๆ สำหรับกำหนดกฎเกณฑ์ของอิลิเมนต์ที่เลือก เช่น "`font-size`" จากตัวอย่างข้างบน เป็นสมบัติของ CSS อย่างหนึ่ง ใช้สำหรับกำหนดขนาดของแบบอักษร ภาษาสไตล์ชีตโดยทั่วไปมีสมบัติทั้งหมดประมาณ 50 ชนิดเพื่ออธิบายลักษณะการแสดงผลต่างๆ ของเอกสาร
; ค่าและหน่วย (values and units)
: สมบัติต่างๆ ของอิลิเมนต์สามารถเปลี่ยนแปลงได้โดยการใส่ค่าค่าหนึ่ง ค่านั้นสามารถเป็นสตริง คำสำคัญ จำนวน หรือจำนวนพร้อมหน่วยกำกับ บางครั้งสมบัติหนึ่งๆ ก็สามารถใส่ได้หลายค่าหรือสามารถใส่นิพจน์เพื่อคำนวณให้ได้ผลตามต้องการ โดยปกติค่าที่เป็นจำนวนจะหมายถึงระยะความยาวของตำแหน่งการแสดงผล เช่น "`1.5em`" ประกอบด้วยค่าจำนวน 1.5 และหน่วย em (หน่วยแทนความสูงที่สัมพันธ์กับขนาดอักษรรอบข้าง) ภาษาสไตล์ชีตโดยทั่วไปมีหน่วยที่แตกต่างกันทั้งหมดประมาณ 10 ชนิด
; กลไกการแพร่กระจายค่า (value propagation mechanism)
: เพื่อหลีกเลี่ยงความจำเป็นที่จะต้องกำหนดค่าให้กับสมบัติทั้งหมดของอิลิเมนต์ทุกชนิด ภาษาสไตล์ชีตจึงมีกลไกที่จะช่วยแพร่กระจายค่าให้โดยอัตโนมัติ ข้อดีหลักของกลไกการแพร่กระจายค่าคือช่วยลดความฟุ่มเฟือยของสไตล์ชีตให้น้อยลง จากตัวอย่างข้างต้น มีเพียงสมบัติ "`font-size`" เท่านั้นที่ถูกกำหนด สำหรับสมบัติอื่นๆ จะถูกถ่ายทอดมาจากอิลิเมนต์ในระดับเหนือขึ้นไปหรือมาจากค่าเริ่มต้น
; แบบจำลองรูปแบบ (formatting model)
: ภาษาสไตล์ชีตทุกภาษารองรับแบบจำลองรูปแบบ ซึ่งเป็นแบบจำลองที่ใช้อธิบายว่าข้อความตัวอักษรและเนื้อหาอื่นจะถูกจัดวางอย่างไรในการนำเสนอสุดท้าย ตัวอย่างเช่น แบบจำลองรูปแบบใน CSS ระบุว่า อิลิเมนต์ประเภทบล็อก (เช่น "`h1`") จะขยายเต็มความกว้างของอิลิเมนต์ระดับบน ภาษาสไตล์ชีตบางภาษามีแบบจำลองรูปแบบสำหรับการฟังด้วย

## ดูเพิ่ม
* รายชื่อภาษาสไตล์ชีต

## อ้างอิง
* Cascading Style Sheets PhD thesis, by Håkon Wium Lie