contenteditable屬性相容於所有瀏覽器(IE6之前的版本是否相容未測試)
在有些時候我們完全可以用DIV去替代input或textarea來達到同樣的效果,例如,在使用ajax的時候,在提交表單時我們可以取得DIV的內容。
細心的人會發現,QQ空間中的發表說說的文本框其實就是一個DIV,而非textarea文本框。
Div CSS如何模擬textarea文字域高度自適應以達到html5標準的contenteditable屬性
主要透過為標籤添加HTML5中的contenteditable屬性達到此效果(contenteditable:規定是否允許用戶編輯內容),很棒的是,此屬性IE也會支持,所以不用再為兼容問題太去糾結了。
DEMO:
附:
在FF瀏覽器下,容器取得焦點時,遊標的高度會與容器的高度一樣高或不顯示遊標. 此時若為容器預設加個佔位符,例如
或 可以解決這個問題.
現在煜子給大家介紹另一種可編輯可自動適應高度,但又不用加js程式碼的好方法。讓大家開開眼界,煜子直接使用DIV也可以當文字框用,類似TextArea文字框,更重要的是DIV的使用者體驗更完美更帥。
Html中的contentEditable屬性可以開啟某些元素的可編輯狀態。也許你沒用過contentEditable屬性,甚至從未聽過,contentEditable的作用相當神奇。可以讓div或整個網頁,以及span等等元素設定為可寫.我們最常用的輸入文字內容就是input與textarea 使用contentEditable屬性後,可以在div,table,p,span,body,等等很多元素中輸入內容.特別是contentEditable已在html5標準中得到有效的支援。大家來見證一下。
設定contentEditable=”true」屬性後,是不是相當的神奇。哈哈…
DEMO頁: http://demo.jb51.net/js/2014/ContentEditable/
我們來個特效吧,透過開啟div元素編輯,是否能插入圖片,這是需要用到js了。
妙哉,如果想使用更多效果,需要自己寫js程式碼了。望各位攻城(功臣)們發揮極致,盼望分享!