Jean: DIVs und padding

Hallo, Leute!

Habe ein Problem, dass ich noch nie hatte und auch nicht ansatzweise verstehe:
Wie sich das heutzutage gehört hab ich ein Design aus verschachtelten Divs, die in einer eigenen CSS-Datei definiert sind.
Unter anderem:

#inhalt {
 position:absolute;
 top:90px;
 left:120px;
 width:618px;
 height:80%;
 z-index:3;
 background-color: #E0D8E4;
 color:black;
 text-align:justify;
 padding:0;
 border: 3px solid #322F88; }

Wenn ich nun für padding einen Wert oberhalb 0 eingebe, wird dir ganze Div um eben diesen Wert (mal 2) breiter. Ist übrigens nur Text drin, bevor jemand in diese Richtung denkt.
Zumindest im IE 6 passiert das. In Opera 6 geht es besser.

Bei einer so grundlegenden Sache vermute ich den Fehler aber zunächst einmal bei mir. Korrekt?
Sollte es doch am IE liegen, wäre es nett, wenn jemand ne Lösung wüsste, wie ich trotzdem den Text in allen Browsern vom Rand wegbekomme.

Vielen Dank!

Jean

  1. hi

    Wenn ich nun für padding einen Wert oberhalb 0 eingebe, wird dir ganze Div um eben diesen Wert (mal 2) breiter. Ist übrigens nur Text drin, bevor jemand in diese Richtung denkt.

    die width eines <div> (und auch jedes anderen Elementes) ist die Breite, die für den Inhalt zur Verfügung steht. padding und border werden dazuaddiert. Allerdings macht der MSIE 5.x das hier falsch - man rechnet die width außerhalb des border. Der MSIE 6 verhält sich hier im Standards-mode korrekt, in sog. Sloppy-mode macht er den Mist immernoch.

    Grüße aus Bleckede

    Kai

    1. Hallo, nochmal!

      padding und border werden dazuaddiert. Allerdings macht der MSIE 5.x das hier falsch - man rechnet die width außerhalb des border. Der MSIE 6 verhält sich hier im Standards-mode korrekt, in sog. Sloppy-mode macht er den Mist immernoch.

      Danke für die schnelle Antwort!
      DAS könnte ich ja noch verstehen, aber warum macht dann ausgerechnet der Standardkonformitätsprieser Opera es falsch? Genau das lese ich dann nämlich aus dem Design, dass er mir zaubert.

      Einfach ausgedrückt:
      Es kann doch nicht wirklich sein, dass es für so eine einfache Sache wie Div mit Text drin, keine akzeptable UND browserübergreifende Lösung gibt - oder habe ich da jetzt was missverstanden?

      Gruß

      Jean

      1. Tag auch

        DAS könnte ich ja noch verstehen, aber warum macht dann ausgerechnet der Standardkonformitätsprieser Opera es falsch?

        Sollte er eigentlich nicht. In Deinem Beispiel zeigt Opera den Div mit einer Gesamtbreite von 624 Pixeln an (auch border wird außen addiert) - wenn nicht muß der Fehler woanders liegen.

        Kann man sich das mal irgendwo ansehen?

        Thomas J.

  2. #inhalt {
    width:618px;
    padding:0;
    border: 3px solid #322F88; }

    Wenn ich nun für padding einen Wert oberhalb 0 eingebe, wird dir ganze Div um eben diesen Wert (mal 2) breiter. Ist übrigens nur Text drin, bevor jemand in diese Richtung denkt.
    Zumindest im IE 6 passiert das. In Opera 6 geht es besser.

    http://www.w3.org/TR/REC-CSS2/box.html#box-dimensions
    http://www.w3.org/TR/REC-CSS2/visudet.html#propdef-width
    http://www.hut.fi/u/hsivonen/doctype.html