Gunnar Bittersmann: margin-top setzen, außer beim ersten Element

Beitrag lesen

@@Encoder:

nuqneH

Allerdings nicht als margin-top beim h1, denn dann wird das erste h1 auch nach unten gerutscht und das sieht sch... aus.

h1:not(:first-child) { margin-top: 2em } verstehen wohl alle modernen Browser.

h1 { margin-top: 2em }  
h1:first-child { margin-top: 0 }
~~~ verstehen sogar alte IEs.  
  
  

> Muss ich da jetzt wirklich dem ersten h1 einen anderen Wert für margin-top gebe  
  
Was ist das Problen dabei?  
  

> oder jedem letzten p ein größeres margin-bottom?  
  
Würde ich nicht machen. Ein Block könnte ja auch mit etwas anderem aufhören als mit einem Textabsatz (Liste, Tabelle, Grafik, …).  
  
Und nein, musst du nicht. Du könntest auch `html`{:.language-css} oder `body`{:.language-css} margin-top mit negativem Wert geben.  
  
Apropos Blöcke: Dafür gibt’s Markup:  
  
~~~html
<section>  
  <h1>Überschrift</h1>  
  <p>Absatz</p>  
  <p>Absatz</p>  
</section>  
<section>  
  <h1>Überschrift</h1>  
  <p>Absatz</p>  
  <p>Absatz</p>  
</section>

Dann könnte auch section margin-bottom bekommen.

Qapla'

--
„Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)