Formgivning efter hierarki
Ibland upptäcker man att man vill ha olika formgivning på samma element, beroende på vart i strukturen detta element befinner sig. Det går att lösa på detta sätt.
Listor och tabeller
För punkt- och nummerlistor finns väljarna ul
och ol
. Båda dessa listor använder listelementet li. I formatmallen skiljer du listelement i punktlistor från listelement i nummerlistor, genom att ange vem föräldern är där egenskaperna ska gälla. Släktskapet anges i fallande ordning från föräldern.
ul li { font-style:italic; color:blue }
Om du har klassindelat en tabell, kan du använda namnet för att visa vilken tabells celler du menar. Du kan ange så många steg i hierarkin som krävs för att peka ut en viss väljare.
table.schema tr td { color:gray }
Länkar och annan text
I det här exemplet vill jag ge länkarna olika formgivning i sidfoten och i löpande text. Sidfoten har jag först klassindelat med namnet .sidfot
. På det sättet kan jag skilja vanliga stycken från sidfoten, som också är markerad med taggen <p>
.
I stilmallen ger jag först länkarna en övergripande form som kommer att synas när jag gör länkar mitt i löpande text.
a { color:red } a:hover { color:blue }
För att ange hur länkar i sidfoten ska se ut, beskriver jag i fallande ordning vilken väljare som är förälder. Detta begränsar formgivningen enbart till stycket med klassen .sidfot
.
.sidfot a { color:black } .sidfot a:hover { text-decoration:underline }
I exemplet nedan har jag angett att blockcitat ska ha kursiv stil. För att betoningen (som också visas kursiv) ska synas, anger jag att den i stycken som är blockcitat även ska vara fetstilt.
blockquote { font-style:italic } blockquote p em { font-weight:bold }