Comment ajouter le remplissage ou la bordure d'un DIV et de garder la largeur et la hauteur?

Est-il un moyen de garder un ensemble de largeur/hauteur d'un DIV, et le pavé du contenu sans le DIV en croissance? Voir l'exemple ci-dessous. Je veux toutes les cases à être exactement 140x140.

HTML:

<div class="box1">Howdy.</div>
<div class="box2">Howdy.</div>
<div class="box3">Howdy.</div>

CSS:

.box1 {
    width: 140px;
    height: 140px;
    background: #f66;
}

.box2 {
    width: 140px;
    height: 140px;
    background: #66f;
    padding: 1em;
}

.box3 {
    width: 140px;
    height: 140px;
    background: #6f6;
    border: 1em solid #000;
}

Violon: http://jsfiddle.net/Wrc5S/

OriginalL'auteur CaptSaltyJack | 2012-03-12