2012-05-25 52 views
5

我想我在這裏做得不對,我希望textarea的比在每邊父DIV小10px的,但它不是這樣的,它太小:textarea的內格

<html> 
    <div style="position: absolute; left: 10px; top: 10px; width:50%; height: 50%; border: 1px solid #000000;"> 
    <textarea style="position: absolute; left: 10px; top: 10px; bottom: 10px; right: 10px; border: 1px solid #FF0000; resize:none;"></textarea> 
    </div> 
</html> 

的jsfiddle :http://jsfiddle.net/2a7LR/1/

爲什麼會發生這種情況?我該如何使它適合於每個邊從父div的10 px較小?

正確顯示僅適用於Chrome/Safari瀏覽器,但錯在所有其他瀏覽器(Firefox,歌劇,IE8)

+0

你需要正好10px還是你可以使用%寬度/高度的文本框? –

+0

即使百分比不起作用:http://jsfiddle.net/2a7LR/6/ – MIrrorMirror

回答

10

http://jsfiddle.net/2a7LR/5/爲您調整了一些CSS。基本上使用width: 100%; height: 100%,將10px移動到容器的padding屬性,然後將box-sizing添加到textarea以使尺寸考慮邊界。

+0

這不適用於IE7 –

2
<html> 
<div style="position: absolute; left: 10px; top: 10px; width:50%; height: 50%; border: 1px solid #000000;"> 
    <textarea style="position: relative; margin: 10px 10px 10px 10px; width:90%; height: 90%"></textarea> 
</div> 
</html>​ 

這應該適合你。文本區域可以是絕對div內的相對區域。你只需要用邊距來定位它,而不是頂部和左邊。

乾杯,菲德

編輯:還注意到您還沒有設置文本區域的任何寬度和高度,所以它不是suppost知道它的大小 - 它只是把默認的。