Wahrscheinlich ist es eine verspätete Antwort, aber ich möchte meine Erkenntnisse mit Ihnen 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 einen Rahmenschatten hinzuzufügen. Aber Sie können angeben inset
Schatten, das würde eher wie ein innerer Rand als ein Schatten aussehen. Sie müssen nur den horizontalen und vertikalen Schatten auf 0px
und die " spread
" Eigenschaft des box-shadow
auf die Breite des gewünschten Rahmens. Also für die "innere" Grenze von 10px würden Sie das folgende schreiben:
div{
width:100px;
height:100px;
background-color:yellow;
box-shadow:0px 0px 0px 10px black inset;
margin-bottom:20px;
}
Hier ist jsFiddle Beispiel, das den Unterschied verdeutlicht zwischen box-shadow
Rand und "normaler" Rand. Auf diese Weise Ihre Grenze und die Box Breite sind von insgesamt 100px einschließlich der Grenze.
Mehr über box-shadow: aquí
Umrandung durch die css-Eigenschaft outline
Hier ist ein anderer Ansatz, aber in diesem Fall würde der Rand außerhalb des Kastens liegen. Hier ist ein Beispiel . Wie aus dem Beispiel hervorgeht, können Sie css verwenden outline
Eigenschaft, um den Rahmen festzulegen, der die Breite und Höhe des Elements nicht beeinflusst. Auf diese Weise wird die Breite des Rahmens nicht zur Breite eines Elements hinzugefügt.
div{
width:100px;
height:100px;
background-color:yellow;
outline:10px solid black;
}
Mehr über den Umriss: aquí