Guten Tag.
Mit <p style="margin-left:40px"> Absatztext </p> kann man einen Absatz einrücken, okay.
Nun dachte ich, mit <div style="margin-left:40px"> Text </div> ist es insofern anders, dass NICHT ein neuer Absatz (mit Leerzeile am Anfang) gebildet wird, so ist es aber nicht.
Wie kann ich also einrücken OHNE anfängliche Leerzeile?
Der Abstand über dem <div>-Block kann auch von jenem Element stammen, das über diesem Block steht. Die Leerzeile, die bei <p>Bla</p><div>Fasel</div> zwischen Bla und Fasel erscheinen sollte, würde also vom <p>-Block stammen, nicht vom <div>.
Ist für dich nicht ersichtlich, welches Element für solche Lücken in deiner Seite verantwortlich ist, besorge dir Firebug. Zeigst du in dessen Quellcode-Ansicht auf ein Element, hebt er die dazugehörigen Innen- und Außenabstände farblich hervor.