2013-04-06 39 views
14

Tôi có <div> với chiều rộng cố định và chiều cao (có thể bằng px /%). Tôi có một số <textarea> bên trong, có chiều rộng là 100%, như;Cách đối sánh chính xác textarea bên trong div - CSS

HTML

<div> 
    <textarea></textarea> 
</div> 

CSS

div{ 
    height: 200px; 
    width: 300px; 
    background: red; 
} 
textarea{ 
    height: 100px; 
    width: 100%; 
} 

Nhưng </textarea> được kéo dài ra khỏi container, tương tự; Screenshot

Tôi muốn vùng văn bản kéo dài đến 100% với vùng chứa. Làm thế nào tôi có thể đạt được điều này?

Here là fiddle hoạt động.

Trả lời

23

Thêm box-sizing:border-box vào CSS của văn bản.

+1

không làm việc trong firefox của tôi 6,02, cửa sổ 7. –

+2

Firefox được trailing cách đằng sau một ngày này. Thử thêm '-moz-box-sizing: border-box' –

+0

Luôn kiểm tra khi làm việc với CSS3. http://caniuse.com/css3-boxsizing –

4

Textarea có phần đệm và đường viền gốc.

Nếu bạn đặt:

textarea{ 
    height: 100px; 
    width: 98%; 
    padding:1%; 
    border:none; 
} 

Nó sẽ được trang bị :)

+0

Tôi biết cách giải quyết này. Nhưng câu hỏi không phải là một giải pháp như thế này. –

+0

Bạn có trình duyệt nào? Các giải pháp của Kolink đó là okay cho tôi;) có thể bạn phải thêm tiền tố trình duyệt ‘-moz-box-sizing: border-box; -webkit-box-sizing: hộp biên giới; kích thước hộp: border-box; ' –

8

Bạn có thể sử dụng hộp cỡ. Nhưng mỗi trình duyệt là khác nhau, vì vậy ví dụ này hoạt động cho tất cả các trình duyệt lớp A.

textarea{ 
    height: 100%; 
    width: 100%; 
    -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ 
    -moz-box-sizing: border-box; /* Firefox, other Gecko */ 
    box-sizing: border-box;   /* Opera/IE 8+ */ 
} 

http://jsfiddle.net/BwVQZ/7/

Các vấn đề liên quan