Antworten:
Die Lösung besteht darin, Ihr gepolstertes Div mit einem äußeren Div mit fester Breite zu umwickeln
HTML
<div class="outer">
<div class="inner">
<!-- your content -->
</div><!-- end .inner -->
</div><!-- end .outer -->
CSS
.outer, .inner {
display: block;
}
.outer {
/* specify fixed width */
width: 300px;
padding: 0;
}
.inner {
/* specify padding, can be changed while remaining fixed width of .outer */
padding: 5px;
}
Deklarieren Sie dies in Ihrem CSS und Sie sollten gut sein:
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
Diese Lösung kann ohne Verwendung zusätzlicher Wrapper implementiert werden.
Dies zwingt den Browser, die Breite gemäß der "äußeren" Breite des Div zu berechnen. Dies bedeutet, dass die Auffüllung von der Breite abgezogen wird.
Klingt so, als würden Sie das IE6-Box-Modell simulieren. Sie können dazu die CSS 3-Eigenschaft box-sizing: border-box verwenden . Dies wird von IE8 unterstützt, aber für Firefox müssten Sie verwenden -moz-box-sizingund für Safari / Chrome verwenden -webkit-box-sizing.
IE6 berechnet die Höhe bereits falsch, Sie sind also gut in diesem Browser, aber ich bin mir nicht sicher, ob IE7 die Höhe im Mackenmodus gleich berechnet.
Versuchen Sie diesen Trick
div{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
Dies zwingt den Browser, die Breite gemäß der "äußeren" Breite des Div zu berechnen. Dies bedeutet, dass die Auffüllung von der Breite abgezogen wird.