Eins og með HTML skiptir máli að huga að því hvernig við formum og skrifum CSS.
Algeng leiðin til að skrifa CSS er að hafa einn selector per línu
með {
á línu seinasta selectors. Allar yfirlýsingar eru
síðan dregnar inn innan reglusetts.
/* ekki svona */
|
|
.text, .list, div { font-size: 1em;
|
|
color: black; }
|
|
/* heldur svona */
|
|
.text,
|
|
.list,
|
|
div {
|
|
font-size: 1em;
|
|
color: black;
|
|
} |
Almennt ættum við ekki að nota ID selectora þar sem þeir hafa hærra
specifity en class selector og geta því valdið vanda. Einnig ætti
id
aðeins að vera skilgreint einu sinni fyrir element
per síðu og því ekki hægt að endurnýta fyrir fleiri. Þetta þýðir þó
ekki að við notum id
aldrei, þegar við vissulega viljum
finna einstök element með JavaScript getum við notað
id
.
#main .list { font-size: 2em; }
|
|
/*
|
|
getum ekki náð hærra specificity nema með því að nota líka id
|
|
eða fara út í að nota !important
|
|
*/
|
|
.list { font-size: 1.5em; }
|
Einnig er æskilegt að nýta sér „flóðið“ þar sem það á við, t.d. til að skilgreina leturgerð aðeins einu sinni, þarf ekki að skilgreina aftur og aftur fyrir mörg element.
Stundum eru yfirlýsingum raðað á einhvern sérstakan hátt og þeim hópað saman, t.d. allt sem á við texta saman, allt sem á við staðsetningu. Þetta á sérstaklega við í verkefnum sem margir vinna í.
Þegar við skrifum class
á element til að velja með
selector þá er venjan að skrifa þá með
kebab-case á ensku:
/* ekki svona */
|
|
.MikilvaegurTexti
|
|
.ListOfItems
|
|
/* heldur svona */
|
|
.important-text
|
|
.list-of-items
|
Kebab-case er ein af nokkrum leiðum til að skrifa samsett orð án bila en sú þörf kemur oft upp í forritun þegar bil hefur merkingu. Í CSS er bil leið til að sameina selectors svo velja þarf einhverja leið til að útbúa samsett orð. Aðrar leiðir eru t.d.
- lowerCamelCase
- UpperCamelCase
- snake_case
- Upper_Snake_Case
Eins og með annað sem viðkemur kóðastíl er mikilvægt að gæta samræmis og velja sér „nafnahefð“ (e. naming convention) sem getur fylgt hefðum forritunarmáls, forritarahóps eða fyrirtækis.
13.1 CSS validation
W3C heldur úti validation þjónustu sem bæði bendir okkur á beinar villur en einnig hugsanlega vandræði sem CSS gæti skapað. Til þess að fá allar upplýsingar þurfum við að kveikja á öllum warnings undir more options.
Fyrir eftirfarandi CSS:
p {
|
|
font-size: 1en;
|
|
margim: 1em;
|
|
} |
|
.list {
|
|
background-color: #999;
|
|
} |
fáum við villur:
2 p Value Error : font-size Unknown dimension 1en |
|
3 p Property margim doesn't exist : 1em |
og viðvaranir:
7 You have no color set (or color is set to transparent) but you have set |
|
a background-color. Make sure that cascading of colors keeps the text |
|
reasonably legible. |
Sem bendir okkur á að þar sem við setjum bakgrunnslit en ekki lit, þá gætum við lent í því að flóðið gefi okkur ólæsilegan texta, eða texta sem ekki hefur nægilega mikið contrast.
13.2 Reset
Hver „user agent“ (í flestum tilfellum vafri) setur sín eigin
sjálfgefnu gildi sem eru notuð ef við skilgreinum ekkert. Þetta
getur verið mismunandi milli vafra og því varð hugtakið um
css reset til, en það eru reglusett sem setur öll
element í „núllstöðu“. Fyrsta
reset.css
skjalið
var búið til af Eric Meyer.