in diesem workshop stelle ich einige neuerungen in css3 vor. natürlich werde ich hier nicht sämtliche neue funktionen aufgreifen, weshalb ich mich auf funktionen beschränke, die mir bei der täglichen arbeit, dem coden von websites, am meisten helfen. das hauptaugenmerk liegt dabei auf designelementen für die photoshop teils nicht mehr benötigt wird oder varianten die zuvor nur umständlich zu lösen waren und jetzt einfach funktionieren.
bei fast allen vorgestellten techniken mache ich die rechnung ohne den internet explorer. natürlich kann man hier mit workarounds arbeiten, aber, da ja das fehlen von design die funktion nicht beinträchtigt, muss man überlegen wann das sinnvoll ist.
neue selektoren
mit css3 kommen zahlreiche neue und sehr mächtige selektoren mit denen man die absolute codekontrolle hat. die sinnvollsten und vermutlich meistgenutzten selektoren und pseudo-klassen stelle ich in diesem abschnitt kurz vor.
eine übersicht über sämtliche mögliche selektoren findet man außerdem auf der seite des w3c unter http://www.w3.org/TR/css3-selectors/#selectors
alles beginnend mit (…) auswählen
a[href^="http://"] {}
das css wird auf alle links beginnend ^ mit dem attribut http:// angewendet
alles endend mit (…) auswählen
a[href$=".rar"] {}
das css wird auf alle links endend $ mit dem attribut .rar angewendet
jedes element das (…) enthält auswählen
div[id*="footer"] {}
div[class*="footer"] {}
das css wird auf alle id’s oder im zweiten beispiel klassen die footer enthalten angewendet. also auf:
<div id="footerContainer">
<div id="footer">
<div class="footer-column1"></div>
<div class="footer-column2"></div>
</div>
</div>
nicht aber auf: <div id="footerContainer"> (schreibweise)!!!
neue pseudo-klassen
jedes x-te element auswählen
table tr:nth-child(2n){
background-color: #ddd;
}
tabelle als anwendungsbeispiel:
| td zeile 1 |
| td zeile 2 |
| td zeile 3 |
| td zeile 4 |
| td zeile 5 |
jedes zweite element auswählen, vom ersten ausegehend:
table tr:nth-child(2n+1){
background-color: #ddd;
}
| td zeile 1 |
| td zeile 2 |
| td zeile 3 |
| td zeile 4 |
| td zeile 5 |
das letze element auswählen:
table tr:last-child {
background-color: #ddd;
}
| td zeile 1 |
| td zeile 2 |
| td zeile 3 |
| td zeile 4 |
| td zeile 5 |
das vorletze element auswählen:
table tr:nth-last-child(2){
background-color: #ddd;
}
| td zeile 1 |
| td zeile 2 |
| td zeile 3 |
| td zeile 4 |
| td zeile 5 |
alles auswählen was nicht klasse (…) ist:
table tr {
background-color: #F00;
}
table tr:not([class*="tr-red"]) {
background-color: #dddd;
}
| has no class |
| has no class |
| class=”red” |
| has no class |
| has no class |
« emusic: digital music as fair as it gets css3 workshop part2: rgba, farbverläufe, box+text-schatten, abgerundete ecken »