|  CSS Opbyg.
 
  CSS er et 'programmeringssprog' der kun kan anvendes som tilføjelser / add-on's til HTML-tags. Mens HTML styrer en sides strukturelle opbygning og placeringen af dens indhold styrer CSS hvordan strukturen og indholdet skal vises / se ud.
 
 Hver enkelt CSS kode består af en selektor og en eller flere deklarationer. 
 SELEKTOREREn selektor kan være et element (et HTML tag) eller et brugerdefineret ord. Elementer bruges kun i beskedent omfang. Den kan have et prefix og / eller et suffix. 
 PrefixSelektorer kan have 4 forskellige prefix: 
* - stjernePåvirker alle elementer der kan påvirkes med den/de tilknyttede deklarationer.
 Kaldes universel selektor.
 Anvendes især til at 'nulstille' default deklarationer sat af browseren.
 * {margin: 0; padding: 0;}
ingenKan kun anvendes for elementer. Alle forekomster af det pågældende element bliver stylet med denne selektor - medmindre der sker individuel ooverstyring med et af de andre 2 prefix.
 Ved at placere en af operatorerne *, >, + eller ~ mellem 2 elementer kan endvidere opnås forskellige effekter.
 Kaldes også elementselektor.
 h1 {font-size: 30px;}
. - punktumKlasse-selektor
 Kan anvendes for selektorer med egen navngivning
 Kan anvendes et ubegrænset antal gange på en enkelt HTML-side.
 .bghvid {background-color: white;}
# - 'havelåge'ID-selektor.
 Kan anvendes for selektorer med egen navngivning
 Kan kun anvendes en gang på en enkelt HTML-side (incl. indlejringer fra include-filer).
 #header {background-color: forestgreen;}
 
 Selektor
 Selve selektoren kan opbygges som:- enkeltstående
 - indlejrede (nested)
 - grupperede (grouped)
 - kombinerede
 
 
ENKELTSTÅENDEp {deklaration}
 #top {deklarationer}
 
 
INDLEJREDE2 eller flere selektorer (incl. deres evt. prefix) kan indlejres i hinanden ved at placere dem efter hinanden uden , som separator. De vil da udgøre en sti således at tilstedeværelsen af den første selektor i HTML-koden vil automatisk knytte deklarationerne til forekomsten af den sidste selektor i HTML-koden.
 
 Indlejringer kan foretages på 3 ferskellige måder;
 
Generelle indlejringer2 eller flere selektoridenter efter hinanden uden separator.
 Blank svarer til logisk AND
 Rækkefølgen af selektorer anvendes som en sti, der begynder ved den første selektor. Deklarationerne benyttes af den sidste selektor.
 kan bestå af elementer og / egne selektorer i aktuelt relevant sekvens
 #top h1 {deklarationer}
 #top p {deklarationer}
 p #top {deklarationer}
 
 
Child / siblingTo elementer i et child eller sibling forhold kan indlejres i hinanden på 3 forskellige måder ved at indsætte +, ~ eller > imellem dem.
 
 
2 elementerTo elementer kan indlejres i hinanden på 4 forskellige specielle måder ved at indsætte *, >, + eller ~ imellem dem.
 
 
GRUPPEREDE2 eller flere selektoridenter efter hinanden med komma som separator. Anvendes som separate selektorer men med tilknyttet samme deklarationer.
 Komma svarer til logisk OR
 kan bestå af elementer og / egne selektorer i valgfri sekvens
 td, th {deklarationer}
 h2, .foo01, .foo02 {deklarationer}
 
 
KOMBINATIONER#foo td, #foo th {deklarationer}
 .foo p, .foo ul {deklarationer}
 
 Suffix
 Efter identen for en selektor kan der tilknyttes parametre, pseudo tags eller pseudo klasser som suffix. Dermed kan foretages en yderligere målretning af selektoren. 
 Parametre
 Nogle af parametrene i en række tags (f.eks a, img og input) kan styres med css via selektoren [].img[alt]{}
 img[src$="gif"]{}
 img[src*="abc"]{}
 input[type="text"] {}
 
 PSEUDO ....
 Ved hjælp af separatoren :: kan en række pseudo tags og pseudo classes tilknyttes relevante selektorer som 'add-on's. 
 Alle pseudo.... er adskilt fra selektorens ident med :: som separator. 
 Pseudo elementer
 <p>-tags kan editeres med pseudo taggene: ::first-line, ::first-letter, ::before og ::after.p::first-letter {}
 a::after{}
 
 Pseudo klasser
 23 forskellige pseudo klasser - fordelt på 6 grupper - kan bruges sammen med et bredt spekter af tags: 
 
Dynamiske::link, ::visited, ::hover, ::active og ::focus.
 
 
Target::target.
 
 
Sprog::lang(sprog)
 
 
Bruger interface::enabled, ::disabled og ::checked
 
 
Strukturelle::root, ::empty, ::first-child, ::last-child, ::only-child, ::nth-child(n), ::nth-last-child(n), ::first-of-type, ::last-of-type, ::only-of-type, ::nth-of-type og ::nth-last-of-type(n).
 
 
Negation::net(selektor)
 
 
 
 DEKLARATIONER
 En deklaration består af et parameter (property) og en værdi. parametre afsluttes med : og værdier med ;. Der kan være et ubegrænset antal deklarationer knyttet til en selektor. Samtlige deklarationer knyttet til en selektor skal indlejres i en enkelt {}. 
 Talt op på det mest detajlerede niveau er der flere hundrede parametre. For mange af dem gør det sig dog gældende, at nogle stykker er varianter over samme tema. Tages højde derfor falder antallet af forskellige parametre betydeligt. 
 Der synes ikke at være noget sted, hvor man kan finde en oversigt over samtlige deklarationer. To gode steder synes at være hhv. rapporterne fra CSS3 arbejdsgrupperne og W3schools. Medvirkende til denne situation er også, at parametre fortløbende bliver færdigdefinerede i de respektive arbejdsgrupper. Derudover vil der være variation i hvornår den enkelte deklaration er indarbejdet i den enkelte browser. Endvidere kan det ind imellem tage nogen tid, før browserproducenterne bliver enige om, hvordan beskrivelsen af et parameter skal udlægges 
 
 
 Opbevaring / hentning
 CSS-data kan opbevares / hentes på 4 forskellige måder: 
 
| Eksternt | Ekstern 'xx.css' fil. F.eks. Bootstrap. Kan enten bruges via eksternt link, eller downloades og bruges som enhver anden lokal fil.
 | <link rel="stylesheet" type="text/css" href="mystyle.css"> |  | Lokalt | I fil på eget lokalnet 'xx.css' fil Tekstfil, der skal have .css som suffix.
 | <link rel="stylesheet" type="text/css" href="mystyle.css"> |  | Intern | I det enkelte dokument | <style> .aaa {    a:b;}
 .bbb {    a:b; c:d;}
 </style>
 |  | Inline | I den enkelte html-tag | < html-tag style="a:b;c:d;"> |   
         
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 |