margin:0% 0% 0% 5% oder margin-left:5% ?
helk
- meinung
0 Rato Micefarmer0 RuD
0 glan0 Sven Rautenberg (off site)0 wahsaga
Hallo,
was findet ihr besser und warum?
Gibt es sinnvolle Gründe für die eine oder andere Methode?
Ich tendiere zu margin:0% 0% 0% 5%, da man hier sehr schnell alle Abstände im Blick hat und nur eine Zeile dafür "verschwendet".
Gruß
Ich tendiere zu margin:0% 0% 0% 5%, da man hier sehr schnell alle Abstände im Blick hat und nur eine Zeile dafür "verschwendet".
Warum schreibst du nicht 'margin:0 0 0 5%'? Die Prozentzeichen hinter den Nullen kannst du dir sparen, da es vollkommen egal ist, ob margin z.B. 0 px oder 0% ist. Das Ergebnis ist immer dasselbe.
mfg
Rato
Seid gegrüßt!
Warum schreibst du nicht 'margin:0 0 0 5%'? Die Prozentzeichen hinter den Nullen kannst du dir sparen, da es vollkommen egal ist, ob margin z.B. 0 px oder 0% ist. Das Ergebnis ist immer dasselbe.
Genau das hat mir der Safari schon widerlegt. Wenn ich nur 0 angegeben habe, gabs bei floats Probleme. Mit 0px gabs die nicht. Klingt komisch, ist aber so.
Hallo,
margin:0% 0% 0% 5%; nehme ich nie, weil es mehr arbeit als margin-left:5%; macht (Unterschied: 4 Zeichen :-)). Bei mir kommt es also drauf an, bei welchem der Varianten weniger arbeit für die Gleiche Wirkung rauskommt...
margin:0px 3px 7px -2px; <-- das wäre ein Beispiel, das ich auf jeden Fall nehmen würde...
MfG
Moin!
Gibt es sinnvolle Gründe für die eine oder andere Methode?
Ich tendiere zu margin:0% 0% 0% 5%, da man hier sehr schnell alle Abstände im Blick hat und nur eine Zeile dafür "verschwendet".
Natürlich gibts Gründe, das eine oder das andere zu verwenden. Mit der Angabe für "margin" setzt du alle vier Randabstände. Mit einer Angabe z.B. für "margin-left" setzt du nur den Randabstand links - alle anderen Randabstände bleiben unberührt, also beispielsweise durch Vererbung von anderen Regeln definiert.
Nur als (konstruiertes) Beispiel:
<p class="first">Eingerückt</p>
<p>Nicht eingerückt, sonst aber wie jeder andere Absatz</p>
und
p {margin:1.5em 0 1em 0em}
p.first {margin-left:2em}
(Jaja, es gibt :first-child, aber es gibt ja auch den IE6...)
- Sven Rautenberg
hi,
Ich tendiere zu margin:0% 0% 0% 5%, da man hier sehr schnell alle Abstände im Blick hat und nur eine Zeile dafür "verschwendet".
Abgesehen von Ratos Hinweis, für Null-Werte keine Einheit anzugeben, nutze ich auch meist diese Notation.
Ganz einfach deshalb, weil ich damit schnell die Eigenschaften für alle vier margins ändern kann, während ich noch entwickle.
Und wenn, wie von Sven angesprochen, mal ein Wert vererbet werden soll, gibt's dafür ja auch noch das Schlüsselwort inherit.
gruß,
wahsaga
Hi,
Und wenn, wie von Sven angesprochen, mal ein Wert vererbet werden soll, gibt's dafür ja auch noch das Schlüsselwort inherit.
Wobei das Setzen des Werts "inherit" für eine Eigenschaft natürlich eine andere Wirkung hat als das Nicht-Setzen einer Eigenschaft.
"inherit" übernimmt den Wert des Elternelements, beim nicht-Setzen ist erstmal die Kaskade dran, bevor (bei erblichen Eigenschaften) die Vererbung ins Spiel kommt.
cu,
Andreas
Moin!
Und wenn, wie von Sven angesprochen, mal ein Wert vererbet werden soll, gibt's dafür ja auch noch das Schlüsselwort inherit.
Wobei das Setzen des Werts "inherit" für eine Eigenschaft natürlich eine andere Wirkung hat als das Nicht-Setzen einer Eigenschaft.
"inherit" übernimmt den Wert des Elternelements, beim nicht-Setzen ist erstmal die Kaskade dran, bevor (bei erblichen Eigenschaften) die Vererbung ins Spiel kommt.
Hehe, ganz genau. :) Um mein Beispiel mal zu erweitern: Dieses CSS hier:
body { margin:0em; }
p {margin:1.5em 0 1em 0em; }
p.first {margin-left:2em; }
p.erben {margin: inherit inherit inherit 2em; }
führt zusammen mit diesem HTML-Code:
<body>
<p class="first">Eingerückt</p>
<p class="erben">Margin erben</p>
<p>Nicht eingerückt, sonst aber wie jeder andere Absatz</p>
</body>
Zu folgenden Ergebnissen:
Alle P erhalten grundsätzlich: 1.5em 0em 1em 0em.
P mit Klasse "first" erhält: 1.5em 0em 1em 2em.
P mit Klasse "erben" dagegen: 0em 0em 0em 2em - geerbt wird ja Body.
"inherit" ist also keine äquivalente Lösung, wenn man nicht erben will, sondern (wie im typischen Anwendungsfall für Klassen) eine allgemeine Definition eines Elements in einer Klassendefinition noch verfeinern bzw. spezialisieren will.
- Sven Rautenberg