Saya memiliki div yang ingin saya tentukan untuk lebar dan tinggi TETAP, dan juga padding yang dapat diubah tanpa mengurangi lebar / tinggi DIV asli atau meningkatkannya, apakah ada trik CSS untuk itu, atau alternatif menggunakan padding?
Jawaban:
Solusinya adalah membungkus div empuk Anda , dengan div luar dengan lebar tetap
HTML
<div class="outer">
<div class="inner">
<!-- your content -->
</div><!-- end .inner -->
</div><!-- end .outer -->
CSS
.outer, .inner {
display: block;
}
.outer {
/* specify fixed width */
width: 300px;
padding: 0;
}
.inner {
/* specify padding, can be changed while remaining fixed width of .outer */
padding: 5px;
}
Nyatakan ini di CSS Anda dan Anda harus melakukannya dengan baik:
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
Solusi ini dapat diterapkan tanpa menggunakan pembungkus tambahan.
Ini akan memaksa browser untuk menghitung lebar sesuai dengan lebar "luar" div, itu berarti padding akan dikurangi dari lebarnya.
Kedengarannya seperti Anda ingin mensimulasikan model kotak IE6. Anda dapat menggunakan properti CSS 3 box-sizing: border-box untuk mencapai ini. Ini didukung oleh IE8, tetapi untuk Firefox Anda perlu menggunakan -moz-box-sizingdan untuk Safari / Chrome, gunakan -webkit-box-sizing.
IE6 sudah salah menghitung ketinggian, jadi Anda bagus di browser itu, tapi saya tidak yakin tentang IE7, saya pikir itu akan menghitung ketinggian yang sama dalam mode quirks.
coba trik ini
div{
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
ini akan memaksa browser untuk menghitung lebar sesuai dengan "luar" -lebar div, itu berarti padding akan dikurangi dari lebarnya.