"margin" wird ignoriert
Elke
- css
0 Axel Richter0 Elke0 Elke0 Axel Richter0 Elke
0 MudGuard
Hallo Leute,
ich habe in einer HTML-Datei einen <p>-Bereich :
<p style="margin-left:350px; margin-top:10px; font-size:8pt; font-weight:bold">Text...
</p>
und darauf folgend einen weiteren:
<p style="margin-left:350px; margin-top:20px">
<div class="back"><a href="datei.html">zurück...</a></div>
</p>
.back ist in einer externen css-datei definiert mit font-size, -weight und -style
Mein Problem ist:
der erste <p>-Bereich wird korrekt dargestellt, aber im zweiten wird das "margin-left" ignoriert, der Text erscheint links, ohne Rand, "margin-top" wird allerdings korrekt dargestellt.
Warum? Hebt sich da irgendwas auf? Ich suche schon seit Stunden nach einer Lösung und finde keine.
Gruß
Elke
Hallo,
und darauf folgend einen weiteren:
<p style="margin-left:350px; margin-top:20px">
<div class="back"><a href="datei.html">zurück...</a></div>
</p>
Da ist ein HTML-Verschachtelungsfehler. Das P-Element darf nur %inline-Content enthalten, keine DIV-Elementen.
http://www.w3.org/TR/html4/struct/text.html#h-9.3.1
viele Grüße
Axel
Ach so. So simpel ist das.
Ich habe aus dem zweiten <p>-Bereich auch einen <div>-Bereich gemacht, dann funzt es. Die darf man aber verschachteln, ja?
Danke für die schnelle Antwort :-)
Gruß
Elke
Nachsatz: Warum funktioniert denn das "margin-top" ??
Hallo,
Nachsatz: Warum funktioniert denn das "margin-top" ??
Keine Ahnung! Es könnte sein:
Beim P-Element ist der End-Tag optional. Also erzeugt:
<p style="margin-left:350px; margin-top:20px">
einen leeren Absatz mit margin-left:350px und margin-top:20px. Dieser steht vor dem
<div class="back"><a href="datei.html">zurück...</a></div>.
viele Grüße
Axel
Hallo Elke,
Ach so. So simpel ist das.
Ich habe aus dem zweiten <p>-Bereich auch einen <div>-Bereich gemacht, dann funzt es. Die darf man aber verschachteln, ja?
Ja, DIV-Elemente können %flow-Inhalt enthalten und %flow; enthält %block;.
http://www.w3.org/TR/html4/struct/global.html#h-7.5.4
Die Frage ist allerdings, wozu _nur_ für die Textformatierung ein eigenes Element nötig ist. Warum weist Du nicht einfach dem Absatz(P) die entsprechende Klasse zu?
viele Grüße
Axel
Hallo Axel,
nachdem ich es ausprobiert habe, frage ich mich selbst, warum ich nicht schon früher dem Absatz die Klasse zugewiesen habe :-)
Vermutlich weil ich zu lange drangesessen habe und mittlerweile etwas schief denke. Danke fürs graderücken und gute Nacht!
Elke
Hi,
Hallo Leute,
ich habe in einer HTML-Datei einen <p>-Bereich :
<p style="margin-left:350px; margin-top:10px; font-size:8pt; font-weight:bold">Text...
</p>und darauf folgend einen weiteren:
<p style="margin-left:350px; margin-top:20px">
<div class="back"><a href="datei.html">zurück...</a></div>
</p>
Da das /p optional ist, hast Du effektiv folgenden Code:
<p style="margin-left:350px; margin-top:10px; font-size:8pt; font-weight:bold">Text...
</p>
<p style="margin-left:350px; margin-top:20px">
</p>
<div class="back"><a href="datei.html">zurück...</a></div>
</p>
Nach dem Absatz "Text..." folgt ein inhaltsfreier Absatz mit margin-top:20px;
Daraufhin folgt dann das div mit dem Link. Das Div hat keinen linken margin, wird also nicht eingerückt.
Nach dem div folgt ein /p, zu dem das öffnende Tag fehlt.
cu,
Andreas