我在這裏做了一個小提琴。 http://jsfiddle.net/pmVeR/Firefox中的Textarea和div填充區別
textarea
和div
在Safari和Chrome中都呈現相同。但在Firefox中,在textarea
右側有一個額外的2px
填充,這會影響單詞換行。
還有什麼神祕的是,沒有white-space: pre-wrap;
這個額外的填充看起來會根據元素的寬度而變化。
我可以通過檢測FireFox並將padding-right:2px
添加到我的div
來解決這個問題,但是我想知道這是否可以在沒有瀏覽器破解的情況下修復?
CSS
div, textarea {
font-family: Courier;
font-size: 14px;
margin: 0;
padding: 0;
outline: 0;
resize: none;
border: 1px solid black;
width: 282px;
height: 80px;
white-space: pre-wrap;
overflow: hidden;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
HTML
<textarea>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...</textarea>
<div contenteditable="true">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...</div>
編輯
我上面提供的例子是固定的寬度,使你能夠看到這個問題,但我需要它來擴展寬度這個。 http://jsfiddle.net/pmVeR/6/
適合我的作品 - Chrome(26.0.1410.64)和Firefox(20.0.1)均將相同寬度的元素顯示爲相同的文字,並且文字環繞在相同的字符處。 – 2013-05-13 02:53:09
同樣適合我。可能的解決方法可能是專門添加填充。 「填充:4像素;」例如。 – lukeocom 2013-05-13 08:06:38
@lukeocom - 如果你玩弄'width',你應該能夠顯示問題,我可以通過在FireFox中設置width:275px來看到它。 – 2013-05-13 08:19:42