2014-07-11 80 views
4

我在父div內有一個textarea。父div有'空白:nowrap'。 textarea是否應該繼承'white-space:nowrap'?在IE11中,textarea繼承了'nowrap'。 Chrome會忽略繼承的'nowrap',而是使用用戶代理樣式表中的'white-space:pre-wrap'。我知道我可以通過明確指定textarea的空白屬性來解決這個問題。 我是否必須明確地設置textarea的空白,還是這是IE11的錯誤?Textarea(錯誤地?)繼承父類的空白css屬性

以下JSFiddle演示了此問題。 (在IE11和Chrome中打開並注意區別)。

http://jsfiddle.net/sTAB3/1/

這裏是在的jsfiddle的代碼:

.a { 
    white-space: nowrap; 
} 

<div class="a"> 
    <textarea id="log" rows="20" cols="50">If I may... Um, I'll tell you the problem with the scientific power that you're using here, it didn't require any discipline to attain it. You read what others had done and you took the next step. You didn't earn the knowledge for yourselves, so you don't take any responsibility for it. You stood on the shoulders of geniuses to accomplish something as fast as you could, and before you even knew what you had, you patented it, and packaged it, and slapped it on a plastic lunchbox, and now you're selling it</textarea> 
</div> 
+0

我還有IE 9,它看起來像鉻一樣,以防萬一。我的猜測是微軟認爲它工作得很好,並將其固定在較新的版本中。 – JStephen

+1

這在技術上不是IE11的錯誤,因爲這裏有[沒有規範強制行爲](http://www.w3.org/html/wg/drafts/html/master/rendering.html#rendering)。但是,[HTML 5.1規範10.5.16](http://www.w3.org/html/wg/drafts/html/master/rendering.html#the-textarea-element-0)表示textarea元素應該有'空格:pre-wrap;'應用(這將優先於默認繼承)*如果* IE11宣稱[支持默認渲染](http://www.w3.org/html/wg/drafts /html/master/infrastructure.html#renderingUA) – Alohci

回答

0

這似乎是一個IE 11錯誤,允許父元素的white-space屬性由兒童textarea繼承。這應該被視爲意想不到的行爲。

我會將white-space: pre-wrap應用於textarea,並將其視爲IE 11錯誤修正。

我找不到官方的錯誤報告(歡迎來源),但下面是這個錯誤引發的兩個問題示例。

實施例1

Example source

從鏈接:

票務描述文本區域上不空白包裹在IE11

enter image description here

實施例2

Example source

的Internet Explorer 11自動換行不工作 似乎自動換不再工作在IE 11. textarea元素在IE 10以前,FF,Safari瀏覽器,並且Chrome字詞包裝按預期工作。