Mungkin ini jawaban yang terlambat, tetapi saya ingin berbagi dengan temuan saya. Saya menemukan 2 pendekatan baru untuk masalah ini yang belum saya temukan di sini dalam jawabannya:
Perbatasan dalam melalui box-shadow
properti css
Ya, bayangan kotak digunakan untuk menambahkan bayangan kotak ke elemen. Tapi Anda bisa menentukan inset
bayangan, yang akan terlihat seperti perbatasan bagian dalam, bukan seperti bayangan. Anda hanya perlu mengatur bayangan horizontal dan vertikal 0px
, dan spread
properti " " dari box-shadow
dengan lebar perbatasan yang Anda inginkan. Jadi untuk batas 'batin' 10px Anda akan menulis yang berikut ini:
div{
width:100px;
height:100px;
background-color:yellow;
box-shadow:0px 0px 0px 10px black inset;
margin-bottom:20px;
}
Berikut adalah contoh jsFiddle yang menggambarkan perbedaan antara box-shadow
perbatasan dan perbatasan 'normal'. Dengan cara ini, batas Anda dan lebar kotak adalah total 100px termasuk batas.
Lebih lanjut tentang bayangan kotak: di sini
Perbatasan melalui garis besar properti css
Berikut adalah pendekatan lain, tetapi dengan cara ini perbatasan akan berada di luar kotak. Berikut ini sebuah contoh . Sebagai berikut dari contoh, Anda dapat menggunakan outline
properti css , untuk mengatur batas yang tidak mempengaruhi lebar dan tinggi elemen. Dengan cara ini, lebar perbatasan tidak ditambahkan ke lebar elemen.
div{
width:100px;
height:100px;
background-color:yellow;
outline:10px solid black;
}
Lebih lanjut tentang garis besar: di sini