2013-04-06 4 views
14

У меня есть <div> с фиксированной шириной и высотой (может быть в px /%). У меня есть <textarea> внутри, имея ширину 100%, например;Как разместить textarea точно внутри div - CSS

HTML

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

CSS

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

Но </textarea> тянется из контейнера, как; Screenshot

Я хочу, чтобы текстовое поле растягивалось до 100% с контейнером. Как я могу это достичь?

Here является рабочей скрипкой.

ответ

23

Добавить box-sizing:border-box в textarea's CSS.

+1

не работает в моем светлячок 6.02, окна 7. –

+2

Firefox отстает далеко позади на этом. Попробуйте также добавить '-moz-box-sizing: border-box' –

+0

Всегда проверяйте при работе с CSS3. http://caniuse.com/css3-boxsizing –

4

В текстовой области есть набивка и граница.

Если вы установили:

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

Он будет установлен :)

+0

Я знаю это обходное решение. Но вопрос заключается не в таком решении. –

+0

Какой у вас браузер? Решение Kolink это нормально для меня;) возможно, вам нужно добавить префикс браузера '-moz-box-sizing: border-box; -webkit-box-size: border-box; box-size: border-box; –

8

Вы можете использовать окно-проклейки. Но каждый браузер отличается, поэтому этот пример работает для всех браузеров класса А.

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/

Смежные вопросы