Nach diversen Problemen mit Prozentualen Breiten und px Angaben für margin padding und border bin ich auf folgende Seiten gestoßen, die mir zumindest klar machen, warum bei meinen Seiten oft gar nix geht:
Warum bitte definiert das w3c das so?
Warum bieten sie dann nicht box-width, wie sie in der CSS 1 Grafik dargestellt wird, als CSS-Eigenschaft an?
Nach allen Empfehlungen soll man die Seiten so machen, dass sie auf verschiedenen Ausgabegeräten ideal für dieses Ausgabegerät sind (insbesondere beziehe ich mich jetzt mal auf verschiedene Bildschirmauflösungen). Dazu helfen IMHO vor allem Prozentangaben für die Breite.
Da ich in CSS nicht rechnen kann (z.B. padding:10px; margin:5px; border:1px; width:100% - 32px; ), bin ich doch darauf angewiesen, meine Gesamtbreite anzugeben?
Insbesondere borders halte ich für einen rein gestalterischen Aspekt, während die Breite einen Aspekt der verschiedenen Ausgabemedien darstellt. Daher halte ich es für richtig, das man den border nicht in Prozent, sondern in px angibt und die Breite in Prozent.
Daher halte ich folgende Angabe für wenigstens ungebräuchlich:
padding:0; margin:0; border:10%; width:80%;
Die Bestimmung der inneren (content) Breite als Pixelwert ließe sich also IMHO in den Fällen wo es nötig ist, eher durch Rechnen im Vorwege aus einer gegebenen äußeren Breite ermitteln, was für z.B. Bilder relevant ist. Dies wieder unter der Bedingung, dass man padding, margin und border i.d.R. Pixelgenau angibt.
Außerdem ist nach meinem Verständnis die Addition von Inhaltsbreite, margin, padding und border die Breite des Elements? Ich weiß jetzt, dass das w3c das anders sieht.
Ich kann mir sicherlich Beispiele konstruieren, in denen die Sichtweise des w3c nötig wäre, wenn man, wie definiert nur eine Art von Breite angeben kann, aber für praxisrelevant halte ich die nicht. Ich habe die Breite des Inhalts noch nie gebraucht, es sei denn, ich war in der Lage, sie beim coden schon zu ermitteln. Die Elemente sollen sich doch nach allg. Empfehlungen ihrem Inhalt anpassen?
Wenn ich also keine Browserbugs (z.B. den des IE, der Bug sollte bekannt sein) nutzen will, muss ich auf gewisse gestalterische Möglichkeiten verzichten.
In meinem letzten Versuch wollte ich ein 90% breites Kind-div in einem 100% breiten Eltern-div haben, welches im Body mit einem Pixel-padding lag und selber ein Pixel-border und Pixel-padding hatte. Ebenso hatte das Kind-div einen Pixel-border und Pixel-padding.
Hier kann man sich bestimmt noch mit irgendwelchen Konstruktionen von prozentualen Paddings helfen.
Wenn die Kind-Elemente aber auch in anderem Kontext auftauchen, in dem z.B. andere Kind-Elemente prozentual breiter sein sollen, kann man sich mit dem Padding nicht mehr helfen.
Diese Situationen kommen zumindest bei mir häufig vor und es gibt immer Browserbreiten, bei denen die borders dann überlappen.
Besonders schwierig ist es, wenn ich z.B. 2 div's nebeneinander mit prozentualen Breiten habe, die Pixel-padding, -border und -margin haben. Diese werde ich nie für alle Browserfenster passend gestalten können, insbesondere, wenn ich sicherstellen will, dass sie die gleichen Breiten haben und einen horizontalen Scrollbanken vermeiden will (was meines Wissens auch allg. Empfehlung ist).
Auch hier gibt es sicherlich die Möglichkeit, diese in zwei Tabellenzellen zu stecken, die ich wesentlich präziser definieren kann. Aber Tabellen sind eigentlich zur Auszeichnung von Inhalt in Tabellenform gedacht und nicht als gestalterisches Mittel. In zwei weitere div's kann ich meine div's auch stecken, jedoch habe ich festgestellt, dass Tabellen wesentlich "robuster" oder "stabiler" sind als div's, also auch keine entgültige Lösung.
Ich muss also für so etwas mehr html-tags verwenden. Wobei ich eigentlich soweit, wie möglich, auf html-tags verzichten sollte, die nicht der Strukturierung des Inhalts dienen.
Und zwei ineinandergeschachtelte div's dienen diesem Zweck mit Sicherheit nicht.
Ich würde mich freuen, wenn mir jemand erklären kann, welche Absicht das w3c damit bezweckt eine "Sprache", die für die Gestaltung gedacht ist, so stark content-fixiert zu definineren.
Neutraler gefragt: Welche Gründe sprechen für die Sichtweise des w3c?
Bitte sagt mir nicht, dass das w3c den Standard setzt und ich mich damit abzufinden habe, das ist mir klar. Ich würde es gerne verstehen, vielleicht kann ich es dann ja auch sinnvoller einsetzen.
Gruß hpvw
PS: Entschuldigt bitte, dass es etwas länger geworden ist, ich hoffe ich konnte klar machen, was ich meine.
Warum bitte definiert das w3c das so?
Warum bieten sie dann nicht box-width, wie sie in der CSS 1 Grafik dargestellt wird, als CSS-Eigenschaft an?
Nach allen Empfehlungen soll man die Seiten so machen, dass sie auf verschiedenen Ausgabegeräten ideal für dieses Ausgabegerät sind (insbesondere beziehe ich mich jetzt mal auf verschiedene Bildschirmauflösungen). Dazu helfen IMHO vor allem Prozentangaben für die Breite.
Da ich in CSS nicht rechnen kann (z.B. padding:10px; margin:5px; border:1px; width:100% - 32px; ), bin ich doch darauf angewiesen, meine Gesamtbreite anzugeben?
Insbesondere borders halte ich für einen rein gestalterischen Aspekt, während die Breite einen Aspekt der verschiedenen Ausgabemedien darstellt. Daher halte ich es für richtig, das man den border nicht in Prozent, sondern in px angibt und die Breite in Prozent.
Daher halte ich folgende Angabe für wenigstens ungebräuchlich:
padding:0; margin:0; border:10%; width:80%;
Die Bestimmung der inneren (content) Breite als Pixelwert ließe sich also IMHO in den Fällen wo es nötig ist, eher durch Rechnen im Vorwege aus einer gegebenen äußeren Breite ermitteln, was für z.B. Bilder relevant ist. Dies wieder unter der Bedingung, dass man padding, margin und border i.d.R. Pixelgenau angibt.
Außerdem ist nach meinem Verständnis die Addition von Inhaltsbreite, margin, padding und border die Breite des Elements? Ich weiß jetzt, dass das w3c das anders sieht.
Ich kann mir sicherlich Beispiele konstruieren, in denen die Sichtweise des w3c nötig wäre, wenn man, wie definiert nur eine Art von Breite angeben kann, aber für praxisrelevant halte ich die nicht. Ich habe die Breite des Inhalts noch nie gebraucht, es sei denn, ich war in der Lage, sie beim coden schon zu ermitteln. Die Elemente sollen sich doch nach allg. Empfehlungen ihrem Inhalt anpassen?
Wenn ich also keine Browserbugs (z.B. den des IE, der Bug sollte bekannt sein) nutzen will, muss ich auf gewisse gestalterische Möglichkeiten verzichten.
In meinem letzten Versuch wollte ich ein 90% breites Kind-div in einem 100% breiten Eltern-div haben, welches im Body mit einem Pixel-padding lag und selber ein Pixel-border und Pixel-padding hatte. Ebenso hatte das Kind-div einen Pixel-border und Pixel-padding.
Hier kann man sich bestimmt noch mit irgendwelchen Konstruktionen von prozentualen Paddings helfen.
Wenn die Kind-Elemente aber auch in anderem Kontext auftauchen, in dem z.B. andere Kind-Elemente prozentual breiter sein sollen, kann man sich mit dem Padding nicht mehr helfen.
Diese Situationen kommen zumindest bei mir häufig vor und es gibt immer Browserbreiten, bei denen die borders dann überlappen.
Besonders schwierig ist es, wenn ich z.B. 2 div's nebeneinander mit prozentualen Breiten habe, die Pixel-padding, -border und -margin haben. Diese werde ich nie für alle Browserfenster passend gestalten können, insbesondere, wenn ich sicherstellen will, dass sie die gleichen Breiten haben und einen horizontalen Scrollbanken vermeiden will (was meines Wissens auch allg. Empfehlung ist).
Auch hier gibt es sicherlich die Möglichkeit, diese in zwei Tabellenzellen zu stecken, die ich wesentlich präziser definieren kann. Aber Tabellen sind eigentlich zur Auszeichnung von Inhalt in Tabellenform gedacht und nicht als gestalterisches Mittel. In zwei weitere div's kann ich meine div's auch stecken, jedoch habe ich festgestellt, dass Tabellen wesentlich "robuster" oder "stabiler" sind als div's, also auch keine entgültige Lösung.
Ich muss also für so etwas mehr html-tags verwenden. Wobei ich eigentlich soweit, wie möglich, auf html-tags verzichten sollte, die nicht der Strukturierung des Inhalts dienen.
Und zwei ineinandergeschachtelte div's dienen diesem Zweck mit Sicherheit nicht.
Ich würde mich freuen, wenn mir jemand erklären kann, welche Absicht das w3c damit bezweckt eine "Sprache", die für die Gestaltung gedacht ist, so stark content-fixiert zu definineren.
Neutraler gefragt: Welche Gründe sprechen für die Sichtweise des w3c?
Bitte sagt mir nicht, dass das w3c den Standard setzt und ich mich damit abzufinden habe, das ist mir klar. Ich würde es gerne verstehen, vielleicht kann ich es dann ja auch sinnvoller einsetzen.
Gruß hpvw
PS: Entschuldigt bitte, dass es etwas länger geworden ist, ich hoffe ich konnte klar machen, was ich meine.