
Sabemos que box-shadow se pegará a los border-radius bordes redondeados, pero el trazo outline no se ajustará al borde redondeado border-radius, podemos combinarlos. Usando box-shadow para llenar el espacio creado por el trazo outline para realizar el efecto que queremos.
¿Acerca de establecer el valor del radio de expansión? Suponiendo que el radio del redondeado border-radiuses r, de acuerdo con el teorema de Pitágoras, el valor mínimo del radio de expansión debe ser igual a (√2−1)r ~= 3.314, y el valor máximo no puede exceder el ancho del trazo, que es 6px.

<style>
main{
width: 100%;
padding: 60px 80px 80px;
}
div{
width: 209px;
margin: 29px auto;
padding: 8px 16px;
border-radius: 8px;
background: #f4f0ea;
outline: 6px solid #b4a078;
}
input{
margin-left: calc(50% - 45px);
}
input:checked ~ div{
box-shadow: 0 0 0 5px #b4a078;
}
</style>
<main>
<input id="ck" type="checkbox" checked/>
<label for="ck">box-shadow</label>
<div>Esto es un un párrafo de texto de relleno. Tutoriales En Linea...</div>
</main>
Ver resultado
Comentarios