Probleme mit padding und width in <p> bei Netscape6/Mozilla1.0
apstrakt
- css
0 Sönke Tesch0 Axel P.
Hallo!
Die padding-Eigenschaften padding-left etc. sollen doch den Innenabstand eines Elements definieren, oder?
Ich habe nun folgendes Problem:
ich lege einen Absatz (also "<p>") an mit Style-Angabe:
width:490px; padding-left:30px; padding-right:30px;
Mein Internet Explorer 5.0 stellt das auch richtig dar, mein Mozilla 1.0 (also quasi Netscape 7) aber vergrößert den Absatz auf 550 Pixel. Anders ausgedrückt: der Int. Expl. rechnet von der Breite 490 die Innenabstände ab, so daß er also nur 430 Pixel Breite für den Text des Absatzes bereitstellt, während der Mozilla generell 490 Pixel Breite für den Text berechnet und die Innenabstände noch dazukommen. Aber ist dann überhaupt noch ein Innenabstand? Komisch. Sehr komisch. Ist das ein Bug im Mozilla oder interpretieren Mozilla/Netscape und Int.Expl. manche CSS so derart unterschiedlich?
Tschau,
Axel
Die padding-Eigenschaften padding-left etc. sollen doch den Innenabstand eines Elements definieren, oder?
Padding ist der Abstand zwischen Inhalt und Rahmen. Margin ist der Abstand vom Rahmen zum nächsten Element.
width:490px; padding-left:30px; padding-right:30px;
Mein Internet Explorer 5.0 stellt das auch richtig dar, mein Mozilla 1.0 (also quasi Netscape 7) aber vergrößert den Absatz auf 550 Pixel.
Der IE hat die Richtigkeit nicht gepachtet, wie kommst Du darauf, daß er es richtig darstellt? Macht er nämlich nicht :)
width stellt die Breite des Inhaltes dar, _dazu_ kommen dann padding, border und margin. Mehr dazu in der CSS-Spezifikation unter http://www.w3.org/TR/REC-CSS2/box.html#box-dimensions (unter anderem, Du wirst ein wenig lesen müssen).
Im IE 6 hat diesen Fehler behoben, allerdings nur, wenn er sich im Standard-kompatiblem Modus befindet (siehe http://www.hut.fi/~hsivonen/doctype.html).
Gruß,
soenk.e
Der IE hat die Richtigkeit nicht gepachtet, wie kommst Du darauf, daß er es richtig darstellt? Macht er nämlich nicht :)
Vielen Dank für den Hinweis. Ich kannte die CSS-Spezifizierung nicht und finde das auch kontraintuitiv: eigentlich hätte ich erwartet, daß width die Breite des Elements und nicht des Element-Inhalts bezeichnet. Aber okay, wenn das so ist, dann ist das halt so. Gut zu wissen. Mal schauen, wie ich das jetzt hinbiege.
Tschau,
Axel