2017-08-28 35 views
2

在一個網站上我做了不同的,我有這樣一個文本:火狐textarea的列比屬性值

<textarea maxlength="1240" rows="20" cols="60" name="sub" style="color: #a7c1c5; background: black;"></textarea> 

只有在Firefox上,這個文本區域具有可見62列,而不是60。這導致的問題我的網站,因爲我需要的文字完全符合textarea。這會導致Chrome或Opera等其他瀏覽器錯誤地顯示文本。無論如何,我如何強制textarea在所有瀏覽器上都有60列?

奇怪的是,行不受影響。

我有一些CSS修改填充以及,但問題仍然發生。

Here is a jsfiddle demoing the issue, error only happens in Firefox

+0

https://bugzilla.mozilla.org/show_bug.cgi?id=33654 :( – Dekel

+0

雖然不是最優雅的,纔有可能破例爲Firefox有隻有58列? –

回答

1

可悲的是它已經針對Firefox的錯誤一段時間,你必須檢測用戶代理,並通過JS調整的cols值。

if (navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { 
 
    document.querySelector('#myTextarea').cols = '58'; 
 
}
<textarea id="myTextarea" placeholder="wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwAs you can see, this is 62 w's instead of 60" maxlength="1240" rows="20" cols="60" name="sub" style="color: #a7c1c5; background: black;"></textarea>

+0

那麼,在有人評論說它是一個錯誤之後,我做了一些實驗。我基本上在樣式屬性中添加了60ch的寬度和40ch的高度,並且它工作正常。但是這並不是什麼大不了的,我會等到有更多的答案,也許不涉及JS,這是我的網站的目標之一 – SpecialBomb

+0

無論什麼最適合你我的朋友。問候。 – Syden