Wahrscheinlich ist es eine verspätete Antwort, aber ich möchte mit meinen Erkenntnissen teilen. Ich habe 2 neue Ansätze für dieses Problem gefunden, die ich hier in den Antworten nicht gefunden habe:
Innere Grenze durch box-shadow
CSS-Eigenschaft
Ja, Box-Shadow wird verwendet, um den Elementen Box-Shadows hinzuzufügen. Sie können jedoch einen inset
Schatten angeben , der eher wie ein innerer Rand als wie ein Schatten aussieht. Sie müssen nur horizontale und vertikale Schatten auf 0px
und die spread
Eigenschaft " " von box-shadow
auf die Breite des gewünschten Rahmens setzen. Für den 'inneren' Rand von 10px würden Sie also Folgendes schreiben:
div{
width:100px;
height:100px;
background-color:yellow;
box-shadow:0px 0px 0px 10px black inset;
margin-bottom:20px;
}
Hier ist ein jsFiddle- Beispiel, das den Unterschied zwischen box-shadow
Rand und 'normalem' Rand veranschaulicht . Auf diese Weise betragen Ihr Rand und die Feldbreite einschließlich des Rahmens insgesamt 100 Pixel.
Mehr über Box-Shadow: hier
Rahmen durch Umriss CSS-Eigenschaft
Hier ist ein anderer Ansatz, aber auf diese Weise würde der Rand außerhalb des Rahmens liegen. Hier ist ein Beispiel . Wie aus dem Beispiel hervorgeht, können Sie die CSS- outline
Eigenschaft verwenden, um den Rahmen festzulegen , der die Breite und Höhe des Elements nicht beeinflusst. Auf diese Weise wird die Rahmenbreite nicht zur Breite eines Elements hinzugefügt.
div{
width:100px;
height:100px;
background-color:yellow;
outline:10px solid black;
}
Mehr zur Gliederung: hier