Tôi biết bài đăng này khá cũ, nhưng đó là vấn đề phổ biến và không ai đăng bất kỳ câu trả lời hay nào ...
Mã HTML sau có vẻ ổn. Nhưng khi tôi thêm các loại tài liệu, vấn đề xuất hiện
div.field_container
{
height: 25px;
width: 150px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<input type="text" name="" value="" />
</div>
Để khắc phục vấn đề chiều rộng/chiều cao, bạn có thể thêm padding để field_container của bạn, nhưng điều đó sẽ làm cho các thùng chứa lớn hơn.
div.field_container
{
height: 25px;
width: 150px;
padding-bottom: 6px;
padding-right: 4px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<input type="text" name="" value="" />
</div>
Nếu bạn không thể thay đổi chiều rộng container, bạn cũng có thể sử dụng các thủ thuật sau đây, nhưng điều đó vẫn sẽ làm tăng chiều cao
div.field_container
{
height: 25px;
width: 150px;
padding-bottom: 6px;
border: 1px solid red;
}
div.field_container input
{
height: 100%;
width: 100%;
}
<div class="field_container">
<div style="height: 100%; margin-right:4px"><input type="text" name="" value="" /></div>
</div>
Và vấn đề hoặc câu hỏi là gì? –
Trình duyệt/phiên bản nào? –
Ok, vậy câu hỏi được đặt ra tại sao phần tử hộp văn bản của tôi mở rộng ra ngoài div div của cha mẹ? Tôi thấy rằng nó có vẻ liên quan đến DOCTYPE của tôi. Chúng tôi bắt buộc phải sử dụng Với mã từ bài viết của tôi, nếu tôi cắm nó vào một trang html mà không cho nó một DOCTYPE, nó hoạt động tốt. Vì vậy, để tái tạo vấn đề của tôi, bạn phải sử dụng DOCTYPE 4.01 nghiêm ngặt và sau đó kiểm tra kích thước của DIV và TextBox bằng công cụ nhà phát triển hoặc đặt đường viền trên DIV. – BrandonS