回答
這取決於瀏覽器和它的實現box model。你正在經歷的是正確的行爲。
IE傳統答錯:http://en.wikipedia.org/wiki/Internet_Explorer_box_model_bug
「錯誤」與W3C提出的不同,但遠遠不夠因爲更直觀/更容易工作。 – pbz 2011-03-15 04:34:27
根據CSS2 specs,箱式元件的呈現寬度等於其寬度的總和,左/右邊緣和左/右填充(左/右邊緣也發揮作用)。如果您的框的寬度爲「100%」並且具有邊距,邊框和填充,則它們會影響(增加)該對象佔用的寬度。
因此,如果您的textarea需要100%寬,請將值分配給width,margin-left/right,border-left/right和padding-left/right,以使它們的總和等於100%。
在CSS3中我們有three box-sizing models。可以使用border-box
模型:
指定的寬度和高度(和相應的最小/最大屬性)上 該元素確定該元件的邊界框。也就是說,在元素上指定的任何填充或邊框都會在此指定的寬度和高度內佈置並繪製爲 。內容寬度和高度 是通過從指定的「寬度」和「高度」屬性中減去各邊的邊框和填充寬度來計算的。
這是W3C部分的混亂,各種瀏覽器只是增加了他們自己版本的盒子模型的複雜性。就個人而言,而不是思考哪個瀏覽器或CSS設置會做的伎倆我只是包裝中還沒有對DIV的另一個DIV聲明和使用利潤率盒子」的內容,而不是使用填充,像這樣:
<div id="container" style="width: 300px; border: 10px solid red;">
<div id="content" style="width: 250px; margin: 25px;">
Some content
</div>
</div>
雖然這隻適用於固定尺寸的容器
您可以將box-sizing:border-box
添加到容器元素,以便能夠指定在向元素添加填充和/或邊框時不會改變的寬度和高度。
查看here (MDN)的規格。
更新(複製評論接聽)
眼下,價值border-box
所有主流瀏覽器支持,根據MDN Specs
當然有些瀏覽器需要適當的前綴,即-webkit
和-moz
,你可以清楚地看到here
對於更多的跨瀏覽器解決方案,就可以避免這種情況,通過包裝,需要填充到固定寬度的另一個標記任何標記,並給予它的寬度:汽車。這樣,如果父項的寬度爲x,並且向子項添加填充,則子項將繼承x的全部寬度,正確應用填充而不修改父寬度或它自己的寬度。
一個格默認情況下需要它的父容器的寬度,這樣可避免瀏覽器兼容性問題,你可以在指定的DIV添加孩子的div然後添加需要的填充到孩子DIV 。
N.B - 不指定寬度孩子DIV因爲它會如果添加填充
- 1. 爲什麼css float會將子元素的填充添加到父元素?
- 2. 填充的身體元素增加值
- 3. 填充元素增加總寬度
- 4. 增加字體大小顯着增加標題的填充
- 5. 爲什麼我的Visio文件的大小增加了?
- 6. 爲什麼不允許元素更改大小以填充屏幕?
- 7. 爲什麼setSkew增加文字大小?
- 8. 爲什麼文字大小不增加?
- 9. 爲什麼填充添加到元素的可見寬度,即使將框的大小設置爲邊框?
- 10. 爲什麼按鈕大小會隨着列表框大小填充數據而增加?
- 11. requestAnimationFrame填充:元素參數是什麼?
- 12. 爲什麼<a>元素繼承子元素的大小
- 13. HTML/CSS:爲什麼會填充擴大我的div
- 14. 爲什麼CSS填充不顯示?
- 15. CSS:爲什麼減少相鄰內聯元素的字體大小會增加總體領先?
- 16. 爲什麼填充和顯示CSS屬性適用於Chrome中的tr元素?
- 17. 爲什麼這個可調整大小的元素在改變其類型後增加大小
- 18. 增加填充後css邊框消失
- 19. li> a元素中的CSS填充
- 20. CSS填充重疊的父元素
- 21. 以像素爲單位的元素大小,爲什麼..?
- 22. ,增加了類元素
- 23. jQuery UI:增加可調整大小的填充()
- 24. 如何增加和填充python列表的大小?
- 25. 增加自動填充滾動條的大小
- 26. 爲什麼在這個<a>增加填充增加垂直邊距?
- 27. CSS:如何填充包含固定大小元素的動態容器?
- 28. 爲什麼我的元素只在頂部填充?
- 29. 爲什麼Chrome自動填充不填充大多數字段
- 30. 使用固定填充的動態大小的嵌套元素
什麼瀏覽器(S)您使用的測試增加嗎? – 2011-01-22 09:03:17
將`* {box-sizing:border-box;}`添加到您的樣式表中,並且大小將按照您的預期行事。 Paul Irish確認它對所有現代瀏覽器都是安全的:http://www.paulirish.com/2012/box-sizing-border-box-ftw/ – 2013-08-20 18:23:08