Prawdopodobnie jest to spóźniona odpowiedź, ale chcę się podzielić z moimi ustaleniami. Znalazłem 2 nowe podejścia do tego problemu, których nie znalazłem tutaj w odpowiedziach:
Wewnętrzna granica za pośrednictwem box-shadow
właściwości css
Tak, cień-pole służy do dodawania cieni do elementów. Możesz jednak określić inset
cień, który wyglądałby jak wewnętrzna ramka, a nie cień. Musisz tylko ustawić cienie poziome i pionowe 0px
, a właściwość „ spread
” box-shadow
na szerokość ramki, którą chcesz mieć. Tak więc dla „wewnętrznej” granicy 10 pikseli napisałbyś:
div{
width:100px;
height:100px;
background-color:yellow;
box-shadow:0px 0px 0px 10px black inset;
margin-bottom:20px;
}
Oto przykład jsFiddle, który ilustruje różnicę między box-shadow
ramką a „normalną” ramką. W ten sposób twoja ramka i szerokość pudełka wynoszą łącznie 100 pikseli wraz z ramką.
Więcej informacji o box-shadow: tutaj
Obramuj właściwość css konspektu
Oto inne podejście, ale w ten sposób granica byłaby poza ramką. Oto przykład . Jak wynika z tego przykładu, możesz użyć outline
właściwości css , aby ustawić granicę, która nie wpływa na szerokość i wysokość elementu. W ten sposób szerokość ramki nie jest dodawana do szerokości elementu.
div{
width:100px;
height:100px;
background-color:yellow;
outline:10px solid black;
}
Więcej o konspekcie: tutaj