• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Ein div und ein h1 und bummm...

Ishildur

Neues Mitglied
Hallo zusammen
Ich schreibe nun bereits seit geraumer Zeit Websiten und habe bis jtzt eigentlich immer ohne gross nachzudenken jeweils einen Workaround gebastelt, sobald etwas nicht so funktionierte, wie ich es mir gedacht hatte. Nun habe ich allerdings festgestellt, dass ich durch diese Arbeitsweise doch immer wieder viel Zeit verliere und insgesamt ineffizient arbeite und habe mich aus diesem Grund dazu entschlossen, in Zukunft der jeweiligen Fehlerquelle nachzugehen. Dadurch erhoffe ich mir ein tieferes Verständnis von html.
Also gerade zu beginn ist mir folgendes aufgefallen. Wenn ich den unteren Code darstelle, dann beginnt das umgebende div nicht zuoberst, wie ich es erwarten würde (margin-top:0px), sondern erst da, wo das h1 beginnt. (margin-top:100px). Wieso ist das so?

HTML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 </head>
 <body style="margin:0px;padding:0px">
  <div style="background-color:red;margin-top:0px;">
   <h1 style="margin-top:100px;border:1px solid black;">
    Wieso beginnt nun das umgebende div erst nach 100 pixeln? Das sollte doch be 0 pixeln beginnen?
   </h1>
  </div>
 </body>
</html>
 
@_Thor_
Also im body hatte ich ja bereits ein margin:0px;padding:0px. Nun habe ich dieses auch dem HTML Tag hinzugefügt, jedoch hat dies keine Veränderung gebracht. Villeicht möchtest du das Resultat in deinen Browsern ansehen, damit zu siehst, was ich meine? ;-)
 
Woran das genau liegt, kann ich dir auch nicht sagen, aber einem inneren Element margin zu geben, um das äußere zu vergrößern ist nicht wirklich sinnvoll.

Warum ist um die Überschrift denn noch ein div? So wie es jetzt ist, ist das völlig überflüssig, da es nichts gruppiert.

Gib dem div eine Höhe, entferne das margin, dann sollte es gehen.
 
Nun ja es geht mir nicht darum, ob es sinnvoll ist oder nicht, sondern ich versuche html zu verstehen. Und ich finde es nicht so sinnlos, wenn man bspw. ein div mit dem content hat und darin ein h1, welchem man sagen möchte, dass es 100px abstand zum letzten absatz haben soll. Ich hatte eigentlich gedacht, dass divs so gross werden, dass der Inhalt darin platz hat?
 
Nun ja es geht mir nicht darum, ob es sinnvoll ist oder nicht, sondern ich versuche html zu verstehen.
Dann solltest du dir den Link anschauen, den ich dir gegeben habe, da wird HTML sehr gut erklärt.

Und ich finde es nicht so sinnlos, wenn man bspw. ein div mit dem content hat und darin ein h1, welchem man sagen möchte, dass es 100px abstand zum letzten absatz haben soll.
Dafür braucht man kein div um die h1, den Abstand kannst du auch direkt der Überschrift geben.

Ich hatte eigentlich gedacht, dass divs so gross werden, dass der Inhalt darin platz hat?
Das werden sie auch, nur wird hier der Hintergrund erst angezeigt, wenn das div auch Layout bekommt. Ich weiß nicht, ob das so gewollt ist, oder ein Fehler in den Browsern.
Such mal nach "html haslayout", da wird das beschrieben.
 
Zurück
Oben