Probablemente sea una respuesta tardía, pero quiero compartir con mis hallazgos. Encontré 2 nuevos enfoques para este problema que no he encontrado aquí en las respuestas:
Borde interno a través de la box-shadow
propiedad css
Sí, box-shadow se usa para agregar box-shadow a los elementos. Pero puede especificar la inset
sombra, que se vería como un borde interior en lugar de una sombra. Solo necesita establecer sombras horizontales y verticales 0px
, y la spread
propiedad " " box-shadow
del ancho del borde que desea tener. Entonces, para el borde 'interno' de 10px, escribirías lo siguiente:
div{
width:100px;
height:100px;
background-color:yellow;
box-shadow:0px 0px 0px 10px black inset;
margin-bottom:20px;
}
Aquí está el ejemplo de jsFiddle que ilustra la diferencia entre el box-shadow
borde y el borde 'normal'. De esta manera, su borde y el ancho del cuadro son de un total de 100 píxeles, incluido el borde.
Más sobre box-shadow: aquí
Borde a través de la propiedad css del esquema
Aquí hay otro enfoque, pero de esta manera el borde estaría fuera de la caja. Aquí hay un ejemplo . Como se deduce del ejemplo, puede usar la outline
propiedad css para establecer el borde que no afecta el ancho y la altura del elemento. De esta manera, el ancho del borde no se agrega al ancho de un elemento.
div{
width:100px;
height:100px;
background-color:yellow;
outline:10px solid black;
}
Más sobre el esquema: aquí