helk: margin:0% 0% 0% 5% oder margin-left:5% ?

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ß

  1. 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

    --
    §§§
    Meine Postings basieren lediglich auf mein Wissen und können völliger Blödsinn sein.
    §§§
    1. 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.

      --
      Bis Später
      RuD
      ________________________________________________________________
      SelfCode: ie:% fl:( br:^ va:) ls:< fo:| rl:( n4:& ss:) de:> js:| ch:| mo:| zu:)
  2. 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

  3. 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

  4. 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

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. 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

      --
      Warum nennt sich Andreas hier MudGuard?
      O o ostern ...
      Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
      1. 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

        --
        "Love your nation - respect the others."