Mein CSS-Wunschzettel
Nur eine kleine Liste mit Verbesserungsvorschlägen für CSS, die mir beim Erstellen von Webseiten aufgefallen sind:
- Bei Verwendung von clear (im Zusammenhang mit float) eine Möglichkeit, wieviele float-Stellen »gesäubert« werden sollen.
- Reguläre Ausdrücke bei attributbedingten Formatierungen: »Anhand der Dateiendung soll ein Icon ausgewählt werden« oder »Bilder, die in ihrem alt-Attribut das Wort X enthalten, sollen einen Rahmen erhalten«
- Die Möglichkeit folgender Angaben: »Jeder dritte Absatz soll einen Unterstrich bekommen« oder »Jeder gerade Absatz hat zum linken Rand einen größeren Abstand«
- Beziehungen zu anderen Objekten: »die Bildbeschreibung darf nicht breiter werden als das Bild« oder »Das Menu soll genauso hoch werden wie der Hauptbereich«
- einheitliche Bezeichnungen für ähnliche Dinge (z.B. derzeit:
display:none;
—visibility:hidden;
) - ein Element sollte mehrere Hintergründe haben dürfen, welche unterschiedlich positioniert werden können.
div.inhalt:before { content:url(menu.html); }
könnte das Problem der Frames bei kleinen Seiten lösen. Wobei das nichts mehr mit Layout zu tun hat.
Und zum Abschluß: die Browser mögen sich an die Standards halten ;-)
Bisherige Kommentare (12)
Kommentar von Pablo
Übersetz es ins englische und schick es ans W3C. Vielleicht nehmen die ja das eine oder andere für CSS 3 noch auf ;)
Kommentar von ex
hm...wenn ich mich nicht irren sollten und nicht die ganze zeit in die falsche Richtung denke dann sollte cellpading/spacing auch als css machbar sein weil wenn man die beiden attribute ja weglässt hat man so ne standard border table. Das sollte man so gestalten wie padding: 0; margin: 0;
Jo mehrere Hintergrundbilder wäre nicht schlecht.
Kommentare sollte man so machen können...
#Zeile
...lol
Kommentar von Pablo
Geht doch mit CSS:
http://de.selfhtml.org/css/eigenschaften/tabellen.htm#border_collapse
Kommentar von Phil
Hab noch was:
ne vernünftige inter Baumstruktur.
Dass man nicht
.klasse a:hover, .klasse a:link, ... { }
schreiben muss, sondern auf Verzweigungen wie
.klasse {
a {
hover:
link:
}
}
zurückgreifen kann :)
Kommentar von kronn
Also zumindest der Wunsch »jeder zweite Absatz...« ist schon in die aktuellen CSS3-Selectors aufgenommen. Zusammen mit (sinngemäß) :last und :checked (für Forumlarelemente) wurden wohl gerade die Pseudoklassen erheblich erweitert.
Mit mehreren Hintergründen pro Element dürfte es Probleme mit der Syntax geben. Willst du die Hintergründe nummerieren? Bisher wird ja wenn du mehrere Hintergrundbilder angibst, nur die letzte Defintion verwendet.
Schöne Idee zwar, aber ich stelle mir die Umsetzung etwas problematisch vor.
Kommentar von René
@kronn: könnte man z.B. so machen:
background-top-left-image:url();
oder
div.bg:topleft { background-image:url(); }
Kommentar von Pablo
Dann gäbe es Leute, die sich beschweren würden, dass man das so nicht pixelgenau ausrichten könnte... Aber was spricht dagegen, ein paar div-Layer übereinander zu legen, die alle ein anderes Bild beherbergen?
Kommentar von Matthias
Wo wir gerade dabei sind: Ich wäre für Variablen. Zwei praktisch unabhängige Div-Layer passen sich nach irgendwelchen Merkmalen (margin-left und margin-right oder width) an irgendwas an und haben dadurch eine Breite. diese Breite könnte man in einer Variable speichern und anderen unabhängigen Layern diese Variable auch als Breite angeben.
Klingt kompliziert ist aber so :D
Kommentar von dejot
nunja,
visibility: hidden und
display: none sind ja nciht gleich,
ersteres verbirgt das element, der platz wird aber reserviert, letzteres zeigt das element gar nicht an.
Kommentar von René
Es ist nicht gleich — aber es reicht ja zu, wenn das Attribut verschieden heißt. Es müssen ja nicht alle möglichen Werte noch verschiedene Namen haben ...
Kommentar von René Philipp
»Jeder dritte Absatz soll einen Unterstrich bekommen« dürfte nach den derzeitigen Entwürfen von CSS3 möglich werden, und zwar mit :nth-child(an+b). Statt a steht dann eine Zahl und statt b eine andere. Wenn a = 0, dann kann der ganze Kram mit an wegbleiben, aber b musz dann gesetzt sein. Z.B. :nth-child(2n) wählt jedes zweite »Kind« aus, z.B. in Tabellen oder Listen. :nth-child(2n+1) wählt alle ungeraden Elemente aus.
Ich hoffe ja, daß nach Verabschiedung von CSS3 dann auch die Browser damit klarkommen.
Kommentar von René
Guter Beitrag!
Wenn im Jahre 2005 immer noch nicht die Browser CSS 2 aus dem Jahre 1998 beherrschen, wann soll man denn mit CSS 3 arbeiten können?
Kommentar verfassen
Bisherige Trackbacks (0)
Es wurde noch kein Trackback empfangen!