Hallo Viktoria,
ja, es sind inline Elemente. Bekommt man da den Abstand nicht weg?
doch, sicher. Aber solange du in deinem Stylesheet keine Angaben dazu machst, gelten die Defaultwerte. Die können allerdings von Browser zu Browser unterschiedlich sein. Willst du reproduzierbare Ergebnisse, dann musst du selbst die Abstände definieren (margin, padding).
Und wieso verhält es sich unterschiedlich je nachdem wie man den Quellcode gestaltet?
Das irritiert mich in deinem Beispiel auch - vor allem, dass du sagst, da seien Abstände, wenn du alles in eine Zeile schreibst, während die Abstände verschwinden, wenn du Zeilenumbrüche im Quelltext hast. Ich hätte es umgekehrt erwartet, weil ja jeder Zeilenumbruch auch als Whitespace, also wie ein Leerzeichen betrachtet wird.
Bist du sicher, dass du dich bei der Beschreibung nicht vertan hast?
Das klingt extrem nach einer Liste. Warum verwendest Du keine?
Weil es keine Liste ist. Die Links sollen nebeneinander dargestellt werden.
Das spielt doch keine Rolle. All das sind ja gestalterische Aspekte, die man mit CSS beliebig regulieren kann (hier z.B. display:inline oder float).
Die <span>s drumrum benötige ich nur wegen einigen Formatierungen die später noch folgen.
Da würde ich dir doch stattdessen empfehlen, die Links direkt zu formatieren anstatt um jeden Link noch ein span zu legen (es sei denn, es soll außer dem Link noch weiteren Inhalt haben). Eventuell kannst du sogar darauf verzichten, sie mit IDs oder Klassen zu kennzeichnen, wenn du dem übergeordneten div eine ID gibst.
So long,
Martin
Man sollte immer wissen was man sagt
- aber auf keinen Fall alles sagen, was man weiß.