PHP Blogger

Startseite Schreib mir ne Mail! RSS Abo Webnews

50 Möglichkeiten, sein CSS zu verbessern

Es ist immer gut, sich zu verbessern. Reinhold Weber zeigt, wie man CSS auf ein neues Level hebt. Leider nur auf Englisch, daher gibts heute noch schnell eine Übersetzung des Ganzen.

 Eine ausführliche Version des Ganzen mit Beispielen gibts auch beim Smashing Magazine unter dem Titel “70 Expert Ideas for Better CSS Coding“.

Und los gehts: 

Was man besser nicht macht

  • Inline CSS (style-Attribut, Style-Deklaration im <head>)
  • Absolute Schriftgrößen (px und pt)
  • Einzelne Hochkommas um Bild-Dateipfade
  • CSS Hacks
  • Vererbte Werte wiederholt definieren
  • Einem Element feste Werte für Breite/Höhe, Padding und Rahmen zuweisen
  • !important und position:absoulte
  • Klassen und IDs nach dem Erscheinungsbild benennen (”rechte Spalte”, “grüner Container unten”)

Guter Stil

  • CSS Deklarationen in einer Zeile (Naja, Geschmackssache)
  • Kommentieren (wie überall ;)
  • Die CSS Datei in Bereiche einteilen (Header, Footer, Navi, Sidebar, Container)
  • Verwende Einrückungen, wenn es der Übersichtlichkeit zuträglich ist
  • Ist Dein Code einfach lesbar?
  • Verwende ”sprechende” Benennungen
  • Sortiere Deine Deklarationen alphabetisch
  • Ein ; ist für die letzte Deklaration nicht zwingend erforderlich
  • Wenn etwas den Wert Null (0) hat, ist eine Maßangabe (px/em/%/…) nicht notwendig
  • Verwende Container, Eigenschaften und Selektoren so selten wie möglich
  • Wenn Du Selektoren gruppierst, kannst Du mehrere Elemente auf einmal selektieren
  • Oft ist eine handliche Kurzform-Notation möglich
  • Benutze kurze Hex-Deklarationen für Farben (#FFF vs. #FFFFFF)
  • Verwende Pseudoklassen für Links in der LoVe/HAte Reihenfolge (Link, Visited, Hover, Active)
  • Definiere den Innen- und Aussenabstand oder Rand von Elementen in der TRouBLed Reihenfolge (Top, Right, Bottom, Left)
  • Du kannst Kindselektoren verwenden ;)
  • Implementiere CSS Definitionen für unterschiedliche Medien-Typen
  • Benenne Klassen und IDs nach Funktion, nicht nach Erscheinungsbild
  • Beschäftige Dich mit der Vererbung von Regeln, CSS hat da ein ganz ausgefeiltes System
  • Benutze Attribut Selektoren um Elemente nach Vorhandensein oder Wert eines Attributes zu selektieren
  • Bestimme die Kapitälchen-Schreibweise mit CSS, nicht mit echten Großbuchstaben
  • Wirf mal einen Blick auf die Coding-Guidelines von großen Firmen
  • Suche Inspiration bei den Gurus des CSS Design
  • Schau Dir mal Blueprint, ein CSS Framework an

Machs Dir einfach

  • Benutze ein CSS Cheat Sheet
  • Teste Dein CSS in den meist verbreitesten Browsern während des Codens, nicht danach ;)
  • Wenn Du nicht sicher bist - jage dein CSS durch eine Validator
  • Teste eingebettet, gehe live mit einer importierten CSS Datei
  • Versuch mal einen CSS-Kompressor, die Dinger können Wunder wirken
  • Schnapp Dir die Webdeveloper Toolbar für den Firefox
  • Sammle wertvolle CSS Klassen in einer Bibliothek
  • Benutze ein Framework wie “Blueprint

Wusstest Du eigentlich…

  • …das man einem Element mehrere Klassen zuweisen kann?
  • …das man Konstanten in einem CSS Dokument verwenden kann?
  • …das man Farbwerte prima über die Suchen/Ersetzen Funktion Deines Texteditors austauschen kann?
  • …das man CSS auch dynamisch mit PHP generieren kann?
  • …das es spezielle Proprozessoren für CSS-Dateien gibt? Switch ist zur Zeit das Ausgereifteste.
  • …das man RSS Feeds mit CSS stylen kann?
  • …das man mit CSS Spam vorbeugen kann?
  • …das es Ideen für CSS Design Patterns gibt?
  • MisterWong
  • del.icio.us
  • Technorati
  • Digg
  • Slashdot
  • YahooMyWeb
  • Furl
  • Ma.gnolia
  • Spurl
  • Netscape
  • StumbleUpon
  • MyShare
  • blogmarks

Computer Coder meint dazu:

18. Dezember 2007 um 09:56

Besten Dank für die Tipps. Einiges war mir wirklich neu und gerade mit CSS habe ich noch Probleme. Es muss ja auch unbedingt jeder Browser alles anders verstehen…

Insbesondere “Verwende Pseudoklassen für Links in der LoVe/HAte Reihenfolge (Link, Visited, Hover, Active)” ist für mich sehr interessant, weil ich damit immer Probleme hatte.

loci meint dazu:

18. Dezember 2007 um 10:26

nette zusammenfassung. nur schade, dass die “Wusstest Du eigentlich…” sektion ohne weiterfuehrende links zu den behauptungen gehalten ist.
ueber die konstanten und das css gegen spam haette ich gerne mehr gelesen.

timi meint dazu:

18. Dezember 2007 um 10:32

Nanana… Im Original gibts gar keine Links ;) Wirf mal einen Blick auf

http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/

Da ist alles mit Beispielen erklärt… Eine prima Idee in Sachen CSS und Spam gibts übrigens bei Guxx:

http://guxx.de/2007/07/11/css-kann-helfen-formular-spam-zu-verringern/

loci meint dazu:

18. Dezember 2007 um 15:18

hatte mir das original nicht angesehe, sondern nur deine zusammenfassung.
von den “css constants” bin ich enttauescht - dachte da ein grosses feature verpasst zu haben und dann ist’s nur ein script mit ersetzungen oder sogar noch schlimmer nur eine erklaerung zum projektmanagement.
schade.

timi meint dazu:

18. Dezember 2007 um 15:22

Hm, es ist sicherlich praktisch statt der Hex-Farbwerte beschreibende Konstanten zu verwenden. CSS dient ja lediglich der Gestaltungs Deklaration von Elementen - es ist keine Scriptsprache…

CSS-Coding nexxt Level - Webdesign-Lounge meint dazu:

18. Dezember 2007 um 16:07

[...] Der PHP-Blogger zeigt euch auf seiner Seite die Übersetzung der “CSS Best Practices and Coding Guidelines” von Reinhold Weber. Für jeden, der weiterhin dazu lernen will, sicher eine gute Quelle: CSS verbessern [...]

loci meint dazu:

19. Dezember 2007 um 09:06

deswegen werde ich aber noch lange nicht die css dateien von einem kernel-http, lighty o.ae. wegnehmen um sie durch php parsen zu lassen.
kosten-nutzen-verhaeltnis und so…

die idee css dynamisch zu erzeugen ist ja auch nichts neues. dem ganzen jetzt aber den namen “css constants” zu geben ist fuer mich die wiedergeburt des web2.0 welches auch nichts neues bietet… ist halt alles besser zu vermarkten, wenn es tolle namen hat.

timi meint dazu:

19. Dezember 2007 um 09:11

Das stimmt wohl :) im Web spielt wie fast überall Bullshit-Bingo eine riesen Rolle - da ist leider nix dran zu machen… Wenn sich Open Source Projekte bei einer breiten Endanwendermasse etablieren wollen, kommen sogar die nicht mehr drumherum.

RSS für Kommentare zu diesem Artikel · TrackBack URI

Schreib Deine Meinung