Katakanlah saya memiliki kotak teks yang ingin saya isi satu baris penuh. Saya akan memberikan gaya seperti ini:
input.wide {display:block; width: 100%}
Ini menyebabkan masalah karena lebarnya didasarkan pada isi kotak teks. Kotak teks memiliki margin, batas, & padding secara default, yang membuat kotak teks lebar 100% lebih besar dari kontainernya.
Misalnya, di sini di sebelah kanan:
Apakah ada cara untuk membuat kotak teks mengisi lebar wadahnya tanpa meluas di luarnya?
Berikut ini beberapa contoh HTML untuk menunjukkan apa yang saya maksud:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<style type="text/css">
#outer{border: 1px solid #000; width: 320px; margin: 0px;padding:0px}
#inner{margin: 20px; padding: 20px; background: #999;border: 1px solid #000;}
input.wide {display:block; margin: 0px}
input.normal {display:block; float: right}
</style>
</head>
<body>
<div id="outer">
<div id="inner">
<input type="text" class="wide" />
<input type="text" class="normal" />
<div style="clear:both;"></div>
</div>
</div>
</body>
</html>
Jika ini dijalankan, Anda dapat melihat dengan melihat kotak teks "normal" bahwa kotak teks "lebar" menonjol di luar wadah. Kotak teks "normal" mengapung ke tepi aktual wadah. Saya mencoba membuat kotak teks "lebar" mengisi wadahnya, tanpa melebar melebihi batas seperti kotak teks "normal".