hallo,
ist es besser den (Zeilen-)Abstand
zwischen zwei Elementen mit <br /> anzugeben
Nein. "Zwischen zwei Elementen" gibt es keinen Zeilenabstand. Elemente können aber innere (padding) oder äußere (margin) Ränder besitzen.
oder <... style="margin-bottom bzw. top:..."> in einem der beiden Elemnte?
Nein. Eine Angabe <style="margin-bottom bzw. top: xxx;">
existiert nicht. In CSS gibt es (bisher) kein "oder".
br ist ein HTML-Element. Es dient dazu, _innerhalb_ eines anderen Elements (in den meisten Fällen vermutlich innerhalb von p) einen Zeilenumbruch zu erzwingen. _Zwischen_ Elementen gibt es aber keinen Zeilenumbruch in HTML, da es dort keine "Zeilen" mehr gibt. Da kann es also allenfalls Abstände geben.
Es gibt "unsichtbare" Zeichen, die über diese Grundlagen hinwegtäuschen, weil sie gelegentlich als "Umbruch" beschrieben werden, obwohl sie es nicht wirklich sind. Das betrifft beispielsweise das "\n" in verschiedenen Scriptsprachen (PHP), das scheinbar die Wirkung eines "Umbruchs" hat. Tatsächlich ist die (meist) sichtbare Wirkung aber kein "Zeilenumbruch", sondern ein carriage return - näherungsweise. Da gibts dann auch noch Plattformunterschiede.
Wenn es dir darauf ankommt, Abstände festzulegen, benutzt du margin und informierst dich, wann es sinnvoll ist, zusätzlich padding einzusetzen.
Kleiner Hinweis, der in dieser Form nicht ausdrücklich in SELFHTML zu finden ist: IE interpretiert manche "padding" genauso, als wären sie eben "margin". Vor allem, wenn man einen oberen (margin-top) oder unteren (margin-bottom) Abstand definieren möchte, rechts und links aber undefiniert läßt.
Grüße aus Berlin
Christoph S.