# စီအက်စ်အက်စ်

ဤဝီကီတွင် CSS သုံးနည်းကို Help:Cascading style sheets တွင်ကြည့်ပါ။

| HTML |
| --- |
| * HTML
* Dynamic HTML
* XHTML
* Character encodings
* Font family
* HTML editor
* HTML element
* HTML scripting
* Layout engine
* Quirks mode
* Style sheets
* Unicode and HTML
* W3C
* Web colors
* Comparison of
	+ web browsers
	+ layout engines for
		- HTML
		- HTML 5
		- Non-standard HTML
		- XHTML
 |
| This box: * ကြည့်ရှု
* ဆွေးနွေး
* ပြင်ဆင်
 |

Cascading Style Sheets|  |
| Filename extension | `.css` |
| အင်တာနက် မီဒီယာအမျိုးအစား | `text/css` |
| တီထွင်သူ | World Wide Web Consortium |
| ဖော့မတ် အမျိုးအစား | Stylesheet language |
| Standard | Level 1 (Recommendation) Level 2 (Recommendation) Level 2 Revision 1 (Candidate Recommendation) |

Cascading Style Sheets (CSS) သည် stylesheet language တစ်ခုဖြစ်ပြီး markup language များ၏ အမြင်ပုံစံ ဖော်ပြရာတွင်သုံးသည်။ အသုံးအများဆုံး တို့မှာ ဝက်ဘ် စာမျက်နှာ တို့တွင်သုံးသော HTML နှင် XHTML တို့ ဖြစ်ကြသော်လည်း CSS ကို SVG, XUL အပါအဝင် မည်သည့် XML စာကို ဖော်ပြရာတွင်လည်းသုံးနိုင်သည်။

CSS ကို ဖတ်ယူသူ၏ စာဖတ်ရေးကိရိယာမှ အရောင်၊ ဖောင့်၊ နေရာချပုံတို့ နှင် အခြားအရာများကို ပြောင်းနိုင်သည်။ CSS ၏ အဓိက တာဝန်မှာ HTML သို့ ၎င်းကဲ့သို့ markup language မှ အဓိပ္ပာယ် စာသား နှင် CSS ဖြင်ရေးသော အမြင်တို့ကို ခွဲခြားရန်ဖြစ်သည်။ ထိုခွဲခြားခြင်းသည် စာသားကို အမျိုးမျိုးသော နည်းတို့ဖြင် အဓိပ္ပာယ် မပြောင်းစေပဲ ရယူ ကြည့်ရှုနိုင်သည်။ ထို့အပြင် CSS သုံးခြင်းဖြင် အမြင်ပြင်ဆင်မှု ရှင်းလင်းပြီး ပုံဆောင်သော စာသား (structured content) ကိုရစေသည်။ CSS ကိုသုံးခြင်းဖြင့် စာသားကို မျိုးစုံသော နည်းတို့မှာ ကွန်ပျူတာ မြင်ကွင်း၊ ပုံနှိပ်၊ အသံ (အသံထွက်သော browser ဖြင့်) နှင် Braille ကို အခြေခံသော အတွေ့အထိတို့ ဖြစ်သည်။ CSS နည်းစဉ်ကို ဆင့်ကဲဆင့်ကဲ အကျိုးသက်ရောက်စေသည်။ ထို့ကြောင့် ဆင့်ကဲ (cascade) ဟုခေါ်ခြင်းဖြစ်သည်။

## CSS (Cascading Style Sheet)

CSS ဆိုတာက Markup Language တွင်ရေးသားထားသော Document တစ်ခု၏ သွင်ပြင်နှင့် ပုံစံ ကိုဖော်ပြခြင်းအတွက် အသုံးပြုသော Style Sheet ဘာသာစကား တမျိုးဖြစ်သည်။ CSS ကိုဖန်တီးခဲ့တဲ့ ရည်ရွယ်ချက်ကတော့ Document Content နဲ့ Style ကို ခွဲခြားထားချင်လို့ပါတယ်။ HTML ကို content struture တည်ဆောက်ဖို့ အသုံပြုပြီး အဲ့ဒီ Content တွေကို ဘယ်လိုပုံစံ ဖော်ပြရမလဲဆိုတာကို CSS နဲ့ သတ်မှတ်ရတဲ့သဘောဖြစ်ပါတယ်။ CSS ကို အသုံးပြုကြတာကတော့ HTML နဲ့ XHTML တို့နဲ့ ရေးတဲ့ web page ရဲ့ style တွေ နဲ့ user interface တွေ ပြောင်းလဲစဉ် မှာအများစုအသုံးပြုတာတွေ့ရပါတယ်။ CSS Style Language ကိုတွီထွင်ဖို့ ဆွေးနွေးကြတော့ အဆိုပြုချက် Proposla (၉)မျိုးအထိ ရှိခဲ့ပါတယ်။ အဲ့ဲဒီ ထဲက (၂) မျိုးကို အခြေခံပြီး တီထွီဖို့ W3C ကဆုံးဖြတ်ခဲ့ပါတယ်။ Cascading HTML Style Sheet (CHSS) နဲ့ Stream-based Style Sheet Proposal(SSP) တို့ပဲဖြစ်ပါတယ်။ CHSS ကတော့ ယနေ့ခေတ်မှာ တွင်တွင်ကျယ်ကျယ် အသုံးပြုနေကြတဲ့ CSS နဲ့ ပိုပြီးနီးစပ်ပါတယ်။ CSS ကို HTML နဲ့တင်မက ပါဘူး တခြား Markup Language တွေနဲ့လဲ တွဲဖက်အသုံးပြုနိုင်ပါတယ်။ (ဥပမာ အားဖြင့်ပြောရရင် XML(Plain Old XML), SVG(Scalable Vector Graphics) နှင့် XUL )။ ဒါကြောင့်မလို့ CHSS ကနေ H ကိုဖယ်လိုက်ပြီး CSS လို့အမည်တွင်စေခဲ့တာပါ။ HTML နဲ့ JavaScript တို့နဲ့တူတူ CSS ကို အများစု အသုံးပြုနေကြတဲ့အတွက် အသုံးပြုသူကို အမြင်အာရုံ ဆွဲဆောင်မှုရှိတဲ့ ဝက်ဘ်စာမျက်နှာများ၊ Web Application အတွက် User Interface တွေ၊ Mobile Application အတွက် user interface တွေဖန်တီးရန် အတွက် အဓိက အုတ်မြစ်ဖြစ်လာပါတယ်။

CSS ဟာတစ်ခြား Style Language တွေနဲ့မတူပဲ CSS ရဲ့ တစ်မူထူးခြားချက်ကတော့ Document တခုအတွက် တစ်ခုထက်ပိုတဲ့ Style Sheets တွေတွဲဖက်အသုံးပြုနိုင်ပြီး၊ Style Sheet တခုက အခြား Style Sheet တခုထဲက သတ်မှတ်ချက်တွေကို Inherit လုပ်ယူပြီး ဆက်လက်အသုံးပြုနိုင်ခြင်းပဲဖြစ်ပါတယ်။ ဒါကြောင့်လဲ Cascade style sheet လို့ခေါ်တာဖြစ်ပါတယ်။ CSS ကိုဒီလိုအခင်းအကျင်းအဖြစ် element တွေကိုအရောင်နဲ့ဖောင့်အပါအဝင်စာရွက်စာတမ်းတင်ဆက်မှုမှစာရွက်စာတမ်းအကြောင်းအရာခွဲခြားပြီး enable လုပ်ဖို့အဓိကအားဖြင့်ဒီဇိုင်းပြုလုပ်ထားသည်။ ထိုသို့ခွဲခြားမှုဖြင့် အကြောင်းအရာကို တိုးတက်ကောင်းမွန်အောင် တင်ဆက်မှု ဝိသေသ လက္ခဏာများ၏ အသေးစိတ်များကို .css ဖိုင်ထဲမှာကသက်ဆိုင်ရာ CSS ကိုသတ်မှတ်ခြင်းအားဖြင့် format နဲ့မျှဝေခြင်း၊ structural content ပါဝင်သော အကြောင်းရာများ အတွက် ရှုပ်ထွေးမှု နှင့် အထပ်ထပ်ပြောဆိုခြင်းကို လျှော့ချနိုင်ရန် Multiple HTML စာမျက်နှာများကို enable လုပ်နိုင်ရန်။

၁၉၉၆ ဒီဇင်ဘာလ မှာ CSS ရဲ့ ပထမဆုံး version ကို ကြေညာခဲ့ပါတယ်။ CSS မှာ version လို့တော့သုံးလေ့မရှိပါဘူး။ CSS Level လို့ပဲခေါ်ကြပါတယ်။ CSS Level 1 ဖြစ်ပါတယ်။ အခုနောက်ဆုံး HTML version 5 မှာ နဲ့ တွဲဖက်ပါဝင်လာတာကတော့ CSS Level 3 ဖြစ်ပါတယ်။ ယခုလက်ရှိ အများစု အသုံးပြုနေကြတာကတော့ ၂၀၀၄ ခုနှစ် ဖေဖော်ဝါရီ မှာကြေညာခဲ့တဲ့ CSS 2 (Level 2 Revision 1) ဖြစ်ပါတယ်။

### Syntax

CSS ဟာ Programming Language တခုမဟုတ်သလို Markup Language လဲမဟုတ်ပါဘူး။ ကြေညာချက်တွေ စုစည်းထားတဲ့ Language တမျိုးပဲဖြစ်ပါတယ်။
CSS မှာဆိုရင်ဖြင့် ရိုးရှင်းတဲ့ syntax တွေနဲ့ အမျိုးမျိုးသော Style ရဲ့ ဂုဏ်သတ္တိများရဲ့ အမည်များကိုသတ်မှတ်ဖို့ရာအတွက် english keywords များကို အသုံးပြုကြပါတယ်။
Style sheet တခုမှာဆိုရင် စည်းမျည်း စည်းကမ်းတွေ ရဲ့ list မှာပါဝင်ပါတယ်။ rule တခုချင်းစီ (သို့) rule-set တွေမှာ selector တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော selector များနှင့် decelaration များကို ပိတ်ပင်မှုတွေပါဝင်ပါတယ်။

### Selector

CSS မှာ အရေးကြီးဆုံးက Selector ဖြစ်ပါတယ်။ Element ပေါင်းများစွာနဲ့ ဖွဲ့စည်းထားတဲ့ HTML Document တခုထဲက ကိုယ့် Style သတ်မှတ်လိုက်တဲ့ Element ကို Select လုပ်ရွေးချယ် နိုင်ခြင်းဟာ ပထမဆုံးလိုအပ်ချက်ဖြစ်ပါတယ်။

 သင်​ေပးပါလာ