perun.net – WordPress & Webwork



10 CSS-Tricks

Von am 05. 09. 2004 um 06:34 – Aktualisiert am 18. 08. 2007 um 18:04

Auf Evolt.org ist vor einigen Tagen ein Artikel mit dem Namen "Ten CSS tricks you may not know" (Trenton Moss) erschienen. Ich habe es mir erlaubt, es frei zu übersetzen und mit ein paar Links und Kommentaren zu erweitern.

1. Kurzschreibweise

In CSS-Kurzschreibweise habe ich bereits über dieses Thema berichtet. Es geht darum das man gewisse Anweisungen in CSS zusammenfassen und in verkürzter Form aufschreiben kann. Ein Beispiel:


#blabla {
color: #000000;
border-width: 1px;
border-style: solid;
border-color: #ff0000;
padding-top: 0.5em;
padding-right: 0em;
padding-bottom: 0.5em;
padding-left: 0em;
font-size: 2.5em;
line-height: 1.3em;
font-weight: bold;
font-style: italic;
font-variant: small-caps;
font-family: verdana, sans-serif;
}

Eine ziemlich lange Anweisung. In Kurzschreibform sieht die aber so aus:


#blabla {
color: #000;
border: 1px solid #f00;
padding: .5em 0;
font: 2.5em/1.3em bold italic small-caps verdana,serif;
}

Anmerkung: wenn man die Schriftangabe zusammenfasst sollten auf jeden Fall die Angabe zur Größe und Schriftfamilie angegeben werden, da sonst die Standardangaben eingesetzt werden.

2. Mehrere Klassen in einem Element

Man hat die Möglichkeit einem HTML-Element mehrere Klassen zuzuweisen welche durch ein Leerzeichen getrennt werden müssen:

<body class="stil1 stil2 stil3">

Man kann auch eine ID und Klasse zuweisen:

<div id="navi" class="hinweis">

Anmerkung: wenn man mehrere Klassen einsetzt und sich die Anweisungen überschneiden bzw. miteinander kollidieren, dann hat die CSS-Anweisung den Vorang, die tiefer in der CSS-Datei notiert wurde.

3. Standardwerte für Rahmenangabe

Bei der Angabe von Rahmenwerten gibt man normalerweise den Rahmenstil, die Breite und Farbe an. Man muss es aber nicht machen. Pflicht ist nur die Angabe des Rahmenstils:

border: solid;

Hierbei entsteht für das jeweilige HTML-Element ein durchgezogener Rahmen. Für die Breite und die Farbe des Rahmens kommen Standardwerte ins Spiel. Bei Breite wäre dies medium (so um die 3 bzw. 4 Pixel) und bei der Farbe wäre dies die Schriftfarbe des jeweiligen HTML-Elementes.

4. !important wird von IE ignoriert

Normalerweise hat die CSS-Anweisung, die zuletzt in der CSS-Datei notiert wurde den Vorrang. Ausser man nutzt die Angabe !important am Ende der jeweiligen CSS-Angabe. Allerdings wird dies von Internet Explorer nicht unterstützt. Hier ein Beispiel:

margin-bottom: 3em !important; margin-bottom: 2em;

Alle modernen Browser, ausser IE, geben der ersten Anweisung den Vorrang, da sie durch !important als wichtig eingestuft ist. IE überschreibt die erste durch die zweite Anweisung.

Anmerkung: das wusste ich bis jetzt nicht. Evtl. ist das eine (wenn auch riskannte) Möglichkeit einer Browserweiche.

5. Image replacement

Dieses Thema kommt häufig vor wenn man für Überschriften etwas exotischere Schriften nutzen will bzw. wenn man befürchtet das viele Besucher diese Schrift auf ihrem System nicht haben. Dann nimmt man Grafiken für Überschriften:

<h1><img src="news.png" alt="Aktuelle Meldungen" /></h1>

Das ist soweit gut, allerdings ist es so das die Suchmaschinen den alt-Text nicht so hoch bewerten wie den normalen Text. Der Autor empfiehlt hier folgende Möglichkeit:

<h1><span>Aktelle Meldungen</span></h1>

h1 {
background: url(news.png) no-repeat;
}

h1 span {
position: absolute;
left:-2000px
}

Die Überschrift bekommt eine Hintergrundgrafik und den dazugehörigen Text der meilenweit, und somit quasi unsichtbar, auf der linken Seite ist.

Allerdings verstehe ich den Vorteil dieser Technik nicht. Ich würde eher folgendes bevorzugen (HTML-Code bleibt gleich):

h1 {
background: url(news.png) no-repeat;
}

h1 span {
display: none;
}

Auf Mezzoblue.com gibt es weitere Vorschläge zu diesem Thema. Wie im wahren Leben: viele Wege führen nach Rom :-).

6. Alternativen zum Box-Modell-Hack

Über dieses Thema habe ich schon in Fehlverhalten von IE im Boxmodell berichtet. Hier wird eine Lösung vorgestellt die auch in dem o. g. Bericht erwähnt wird. Es geht dabei prinzipiell um verschachtelte Boxen. Der äußeren Box gibt man die Breiten- und Margin-Angaben und der inneren Box die Rahmen- und Padding-Angaben.

7. Block-Elemente horizontal zentrieren

body {
text-align: center;
}

#box {
margin: 0 auto;
text-align: left;
}

Somit ist die Box horizontal zentriert. Die Angabe text-align: center; ist notwendig für die älteren Browser (z. B. IE 5 und 5.5). Die Angabe text-align: left; erreicht, daß der Text innerhalb der Box linksbündig ist.

8. Vertikales zentrieren

Dies ist imho eine Schwäche von CSS. Ich kenne keine wirklich richtig einfache und saubere Lösung um inhalte vertikal zu zentrieren. Hierbei sind die Layouttabellen im Vorteil. Eine relativ einfache Möglichkeit für einige Fälle wäre das ausnutzen von line-height (Zeilenhöhe). Nehmen wir mal an ein Bereich hat die Höhe von 2em, dann setzen wir einfach den Wert der Zeilenhöhe auf 2em und schon ist die Schrift zentriert.

Anmerkung: ich habe das noch nicht getestet, aber wenn das gut funktioniert, dann hätte man für einige Fälle eine einfache Lösung.

9. Positionieren innerhalb einer Box

Eine der Stärken von CSS ist das positionieren der Elemente. Es ist möglich (und manchmal auch wünschenswert) Elemente innerhalb einer Box zu positionieren.

#box {
position: relative
}

Nun ist jedes Elemnt innerhalb dieser Box relativi positioniert. Jetzt kann man z. B. Elemente innerhalb dieser Box auch absolut positionieren:

<div id="box"><div id="navi">Text</div></div>

#navi {
position: absolute;
left: 30px;
top: 5px
}

Die Navigation ist jetzt innerhalb der Box absolut positionert und hat einen Abstand von 30px nach links und 5px nach oben.

Anmerkung: die absolute und fixierte Positionierung habe ich sehr schnell verstanden, aber die relative Positionierung ist bis heute für mich ein Mysterium geblieben. Ich sehe den Nutzen in dieser Positionierungsart nicht.

10. Hintergrundfarbe über die gesamte Höhe

Eine der Schwächen von CSS ist die Kontrolle über die vertikalen Angaben. Nehmen wir mal einen klassichen Fall. Links die Navi (absolut positionert bzw. floatend) und daneben der Inhalt. Würde man den beiden Elementen eine andere Hintergrundfarbe zuweisen, dann würde sich die Farbe nur soweit vertikal ausweiten wie auch Inhalt vorhanden ist und nicht bis zum Ende des Bildschirms.

Abhilfe schafft hier das tricksen mit Hintergrundbildern. Einfach eine Grafik in gewünschter Breite erstellen, die Bereiche bestimmen und ihnen die Farbwerte zuweisen und zuletzt einen Streifen in voller Breite ausschneiden und als Hintergrund für den Inhalt angeben.

Wer sich nicht vorstellen kann was ich gerade hier verzapfe :-), der sollte sich diese Grafik mal anschauen. Es ist eine mögliche Variante.

Diesen Artikel weiterempfehlen:

Premium WordPress Themes

Verwandte Artikel:

Kategorien:
HTML & CSS
Tags:
 
Beitrag:
Druckvorschau
Kommentare:
Kommentare verfolgen oder Kommentar abgeben

 — 


14 Kommentare

  1. 1.nerd blog » 10 CSS-Tricks…

    Pingback vom 06.09.2004 um 05:43

    [...] may not know” (Trenton Moss) erschienen. Perun hat den Artikel frei übersetzt und mit ein paar Links und Kommentaren erweitert. [...]

  2. 2.kronn.de - weblog

    Trackback vom 05.09.2004 um 11:21

    10 CSS Tricks
    Ich hatte den "Original-Artikel" zwar auch gesehen, aber irgendwie hat "Perun":http://perun.net/ mit seiner "Übersetzung des Artikels"http://www.perun.net/archiv/2004/09…

  3. 3.kronn

    Kommentar vom 05.09.2004 um 11:26

    Sorry für den "halben Kommentar", Perun… Ich habe aus Gewohnheit wiedermal Textile statt HTML verwendet :-(

    Ich habe bei mir einige Kommentare zu diesem Eintrag hier abgegeben, aber irgendwie habe ich Trackback mal wieder falsch eingeschätzt…

  4. 4.Perun

    Kommentar vom 05.09.2004 um 11:29

    @kronn,
    macht nix :-)

  5. 5. – Christoph Hörl

    Kommentar vom 05.09.2004 um 11:39

    Perun hat übersetzt
    In "Weekly Links" vom Freitag, habe ich Ihnen den Artikel "Ten CSS tricks you may not know" empfohlen, der sich in den letzten Tagen durch die Weblog-Gemeinde bewegt hat. Perun hat nun den Artikel "10 CSS-Tricks" veröffentlich, der eine freie Übersetzung des englischen Artikels bei Evolt.org ist.

    Mehr unter http://www.christoph-hoerl.de/weblog/weblog.php?id=28

  6. 6.Der Themenmixer

    Trackback vom 06.09.2004 um 15:47

    10 CSS-Tricks
    Hui … heute ists aber designlastig hier. Aber gute, hilfreiche Links wollen eben gemerkt werden.

    Die Übersetzung der “Ten CSS tricks you may not know” müssen dabei unbedingt dazugehören.

    Es ist wohl unnötig an dieser Stelle und ferner auf Lese…

  7. 7.Martin

    Kommentar vom 10.09.2004 um 11:09

    Zu Punkt 5: bei display:none wird der Text afaik nicht von Screenreadern vorgelesen, beim Verschieben in den nicht sichtbaren Bereich hingegen schon.

  8. 8.Martin

    Kommentar vom 10.09.2004 um 11:25

    Eben gefunden: Ten CSS tricks — corrected and improved

  9. 9.Boris

    Kommentar vom 13.09.2004 um 12:08

    Feinfein.. dies 'gebookmarkt' und dann steh'n die Tipps immer zur Verfügung (bin zu alt, um mir das alles auswendig behalten zu können ;-).
    Apropos: das 'Name'-Inputfeld für den Kommentar bei WordPress hat eine class-Zuweisung vergessen, deswegen das graue 'Eingabeloch' anstelle der anderen Flat-Felder.

  10. 10.Martin

    Kommentar vom 14.09.2004 um 23:19

    Naja, bei mir sieht das wohl anders aus … Hier hat das Name-Feld einen angenehmen blauen ("flat") Rahmen, bei den anderen ist er schwarz. Liegt wohl daran, dass ich XP benutze :)

  11. 11.phentermine

    Kommentar vom 26.12.2004 um 23:34

    So very glad I found this truly great site :-)

  12. 12.20 CSS-Tricks » Peruns Blog - Webwork und Internet

    Pingback vom 08.09.2005 um 19:10

    [...] Die 10 CSS-Tricks hatten wir schon mal. Nun gibt es weitere 10 CSS-Tricks, die man sich merken sollte. [...]

  13. 13. – laaars.de »

    Pingback vom 18.09.2005 um 15:06

    [...] so, da ich grad keine Zeit hab das ganze zu lesen wird's erstmal hier gespeichert. So ganz vertrau ich den Bookmarks von meinem neuen Caminobrowser noch nicht die ersten 10 CSS-Tricks und die zweiten 10 Tricks. [...]

  14. 14.Stylesheet Tuning Ansätze - Markup: Webdesign, Webstandards und Accessibility

    Pingback vom 02.01.2006 um 13:40

    [...] 10 CSS-Tricks: Trenton Moss' Serie übersetzt und erweitert von Perun [...]

Hinweis:
WordPress 3.8 für Autoren & Redakteure
Der schnelle und unkomplizierte Einstieg auf 55 DIN-A4-Seiten

Tut mir Leid, aber die Kommentar-Funktion ist momentan deaktiviert.



Weblog der perun.net webwork gmbh mit Artikeln zum Thema WordPress, Webwork, und Internet.