Ni kan nå så kallade barnkomponenter. Det är sådana som direkt är underordnade andra element. Det låter onekligen något abstrakt, men kan förklaras tydligt med hjälp av ett exempel.
<body> <p>Stycke 1</p> <p>Stycke 2</p> <p>Stycke 3</p> </body>
Här är body överelementet. p-elementen är var och en barnkomponenter till body. Med denna kunskap kan barnkomponentväljaren användas.
body>p { color: blå; }
Denna syntax sätter alla stycken, som är direkt barn till body, i blå färg.
<!DOCTYPE html> <html lang="de"> <head> <title>PSD-Tutorials.de</title> <meta charset="UTF-8" /> <style> body>p { font-family:"Courier New", Courier, monospace; font-size: 200%; } body p { color:#0066FF; } </style> </head> <body> <p>Stycke 1</p> <p>Stycke 2</p> <p>Stycke 3</p> <div> <p>Stycke 4</p> </div> </body> </html>
De första tre definierade p-textstyckena är direkta barn till body. Anvisningen body p tilldelar alla textstycken en blå skrift. body>p påverkar endast de första tre textstyckena. Därför visas dessa stycken också i en större skrift.
Nästa skulle jag vilja presentera för er det Följandelement-väljaren. Denna väljare markerar ett element som omedelbart följer på ett annat element och har samma överordnade element som detta. Även här ett exempel:
h1+p { color: blå; }
Denna syntax sätter färgen på ett stycke till Blått. Detta gäller dock endast om stycket direkt följer på en överrubrik av första ordningen.
<!DOCTYPE html> <html lang="de"> <head> <title>PSD-Tutorials.de</title> <meta charset="UTF-8" /> <style> h1+p { color: blå; } </style> </head> <body> <h1>Rubrik</h1> <p>Stycke 1</p> <h2>Rubrik</h2> <p>Stycke 2</p> <p>Stycke 3</p> <div> <p>Stycke 4</p> </div> </body> </html>
Se resultatet i webbläsaren.
Vi kan förresten inte bara nå element direkt. Även åtkomst via elementens attribut är möjlig.
<body> Namn: <input type="text" id="namn" /> <br /> Man: <input type="checkbox" name="kön" id="kön" /> <br /> Kvinna: <input type="checkbox" name="kön" id="kön" /> </body>
Här har olika formulärelement definierats.
• ett textinmatningsfält
• två kryssrutor
Dessa fält ska formateras.
input[type="checkbox"] { width: auto; }
Genom att använda den presenterade selektorn, hämtas faktiskt bara sådana input-element som har attributvärdeskombinationen type="checkbox".
Upprepningar
CSS erbjuder nu äntligen möjligheten att adressera upprepningar. Naturligtvis uppstår frågan, vad sådant kan vara bra för. Dessa selektorer är användbara till exempel när man vill styla varannan rad i en tabell olika färgad. Innan jag presenterar de tillgängliga selektorerna, ett mycket typiskt exempel:
<ol id="sprachen"> <li>HTML</li> <li>HTML5</li> <li>CSS</li> <li>CSS3</li> <li>JavaScript</li> <li>JScript</li> <li>Java</li> <li>PHP</li> <li>Python</li> </ol>
Detta är en vanlig listning. Med hjälp av CSS ska var tredje listelement tilldelas en bakgrundsfärg.
För detta används selektorn nth-child(). Med denna selektor tas varje n-te barnobjekt.
#sprachen li:nth-child(3n) { background-color: red; }
Följande selektorer är tillgängliga:
• :root - Med selektorn :root kan roten av ett dokument adresseras.
• :nth-child(n) - Kontrollerar varje n-te element inuti ett föräldreelement. Denna selektor är särskilt användbar när flera element ska stylas olika. Med n avses nyckelordet som kan användas för att utföra beräkningar. n kan motsvaras av värdet 1.
• :nth-last-child(n) - Kontrollerar varje n-te element i ett element, där barnobjekten körs bakifrån.
• :nth-of-type(n) – Kontrollerar varje n-te element av samma HTML-typ på samma nivå.
• :nth-last-of-type(n) - Kontrollerar varje n-te element på samma nivå, där elementen körs bakifrån.
• :first-child - Kontrollerar det första barnobjektet inuti ett element.
• :last-child - Kontrollerar det sista barnobjektet inuti ett element.
• :first-of-type - Kontrollerar det första elementet av samma HTML-typ inuti ett föräldreelement.
• :last-of-type - Kontrollerar det sista elementet av samma HTML-typ inuti ett föräldreelement.
• :only-child - Kontrollerar ett element som inte har syskonobjekt och presenterar det enda barnobjektet i det överordnade elementet.
• :only-of-type - Kontrollerar ett element som inte har syskonobjekt av samma HTML-typ och representerar det enda elementet av den här sorten i det överordnade elementet.
• :empty - Kontrollerar tomma element.
De presenterade selektorerna underlättar arbetet med HTML avsevärt, eftersom komplicerade klassdefinitioner tillhör historien.