Steffen Flämig: Einfluß von padding und border auf die Breite eines Elements

Hi,

ich versuche mich gerade am Layout einer Seite die später auf ein spezielles Aufkleber-Formular gedruckt werden soll. Deshalb ist eine genaue Positionierung der einzelnen Elemente sehr wichtig (die müssen dann beim Ausdruck genau die auf dem Papier vorgesehene Bereiche füllen).

Ich haben die Texte und Bilder in <div>'s gepackt und mit position:absolute; positioniert, top- und left-Angaben in mm.

Soweit, sogut.

Um etwas mit dem Layout zu spielen habe ich den Innenabstand und die Rahmenbreite variiert, das hat beim Mozilla aber eine entsprechende Vergrößerung des gesamten <div> (um die Rahmen- und Paddingbreite) zur Folge. Beim IE nicht.

Kann man die Breite/Höhe so angeben, dass Sie von Padding/border nicht verändert wird (Mozilla, auch beim Ausdruck)?

Viele Grüße
Steffen

  1. Hi,

    Um etwas mit dem Layout zu spielen habe ich den Innenabstand und die Rahmenbreite variiert, das hat beim Mozilla aber eine entsprechende Vergrößerung des gesamten <div> (um die Rahmen- und Paddingbreite) zur Folge. Beim IE nicht.

    Ja, das liegt an dem bekannten box-model-bug des IE.
    Wenn Du danach suchst, findest Du auch workarounds dazu.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      Um etwas mit dem Layout zu spielen habe ich den Innenabstand und die Rahmenbreite variiert, das hat beim Mozilla aber eine entsprechende Vergrößerung des gesamten <div> (um die Rahmen- und Paddingbreite) zur Folge. Beim IE nicht.

      Ja, das liegt an dem bekannten box-model-bug des IE.

      In diesem Fall ist mir das Verhalten des IE eigentlich lieber da es ein Variieren von padding und border erlaubt, ohne dass sich die Größe meines Elements ändert.

      Wenn Du danach suchst, findest Du auch workarounds dazu.

      Ich bräuchte also eher einen "Mozilla-Workaround".

      MfG
      Steffen

      1. Hi,

        Ja, das liegt an dem bekannten box-model-bug des IE.
        Ich bräuchte also eher einen "Mozilla-Workaround".

        Das ist widersinnig. IE macht den Fehler - also muß auch dort mit der Korrektur angesetzt werden.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hi,

          Das ist widersinnig.

          Ist es _in diesem Fall_ nicht.

          IE macht den Fehler - also muß auch dort mit der Korrektur angesetzt werden.

          IE mach _in diesem Fall_ genau dass, was ich _in diesem Fall_ will.
          Meine Frage läußt sich auch so stellen:
          Kann ich Mozilla dazu bringen, ein <div> in einer bestimmten Breite darzustellen, auch wenn padding/border variiert werden?

          MfG
          Steffen

          1. Steffen,

            Kann ich Mozilla dazu bringen, ein <div> in einer bestimmten Breite darzustellen, auch wenn padding/border variiert werden?

            Wenn Mozilla schon CSS 3 versteht: http://www.w3.org/TR/css3-ui/#box-model
            Gunnar

            --
            „Solang wir noch tanzen können
            und richtig echte Tränen flennen,
            ist noch alles offen,
            ist noch alles drin.“
            (Gundermann)
      2. hi,

        In diesem Fall ist mir das Verhalten des IE eigentlich lieber da es ein Variieren von padding und border erlaubt, ohne dass sich die Größe meines Elements ändert.

        einfacher "workaround": zwei elemente verschachteln, dem äußeren die feste breite zuweisen, und das innere sich auf die ganze zur verfügung stehende breite ausdehnen lassen und ihm padding und border geben.

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. einfacher "workaround": zwei elemente verschachteln, dem äußeren die feste breite zuweisen, und das innere sich auf die ganze zur verfügung stehende breite ausdehnen lassen und ihm padding und border geben.

          Danke!

          Steffen