1. 程式人生 > >textarea如何實現高度自適應?

textarea如何實現高度自適應?

轉自:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html

今天需要些一個回覆評論的頁面,設計師給的初始介面就是一個只有一行的框。然後當時就想這個互動該怎麼實現比較好,然後想起了新浪微博的做法:點選評論,預設顯示一行,當輸入的文字超過一行或者輸入Enter時,輸入框的高度會隨著改變,直到輸入完畢。頓時覺得這個細節做得挺不錯的,可以效仿下。下面分享2種實現textarea高度自適應的做法,一種是用div來模擬textarea來實現的,用CSS控制樣式,不用JS;另一種是利用JS控制的(因為存在瀏覽器相容問題,所以寫起來比較麻煩);

方法一:div模擬textarea文字域輕鬆實現高度自適應

因為textarea不支援自適應高度,就是定好高度或者是行數之後,超出部分就會顯示滾動條,看起來不美觀。

而用DIV來模擬時,首先遇到的問題是:div怎麼實現輸入功能?

可能我們還是第一次見到這個屬性contenteditable,如一個普通的block元素上加個contenteditable="true"就實現編輯,出現游標了。如

1<div contenteditable="true"></div>

contenteditable屬性雖是HTML5裡面的內容,但是IE似乎老早就支援此標籤屬性了。所以,相容性方面還是不用太擔心的。

CSS程式碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 .textarea{ width:400px; min-height:20px; max-height:300px; _height:120px; margin-left:auto; margin-right:auto; padding:3px; outline:0; border
:1pxsolid#a0b3d6; font-size:12px; line-height:24px; padding:2px; word-wrap:break-word; overflow-x:hidden; overflow-y:auto; border-color:rgba(82,168,236,0.8); box-shadow:inset01px3pxrgba(0,0,0,0.1),008px

相關推薦

div模擬textarea文本域輕松實現高度適應

body post HR word-wrap overflow out 模擬 target get <style> .textarea{ width:400px; min-height:20px; max-height:300p

jquery之div模擬textarea文字域輕鬆實現高度適應

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="tex

textarea如何實現高度適應(不出現滾動條)

今天需要些一個回覆評論的頁面,設計師給的初始介面就是一個只有一行的框。然後當時就想這個互動該怎麼實現比較好,然後想起了新浪微博的做法:點選評論,預設顯示一行,當輸入的文字超過一行或者輸入Enter時,輸入框的高度會隨著改變,直到輸入完畢。頓時覺得這個細節做得挺不錯的,可以效仿下。下面分享2種實現text

textarea如何實現高度適應

轉自:http://www.xuanfengge.com/textarea-on-how-to-achieve-a-high-degree-of-adaptive.html 今天需要些一個回覆評論的頁面,設計師給的初始介面就是一個只有一行的框。然後當時就想這

css實現高度適應正方形

spl splay code gin tle margin content div hidden <!DOCTYPE html> <html> <head> <title></title> </hea

Android動態設定GridView的高度,固定column,實現高度適應

動態設定GridView的高度,固定column,根據gridview中的item個數設定高度: 呼叫以下方法:     [java]  view plain copy print ?

vue環境下基於contenteditable實現高度適應多行文字域(div模擬)

1、在web應用中,常用的多行文字輸入<textarea>,滿足了我們絕大部分的需求,唯一不足之處就是文字高度不能隨內容自適應,如果需要高度自適應需要通過js指令碼實現 2、div有天然的高度自適應,在加上個contenteditable屬性,就可以變成一個文字內容自適應的多行文字輸

巧用margin/padding的百分比值實現高度適應(多用於佔位,避免閃爍)

一個基礎卻又容易混淆的css知識點 本文依賴於一個基礎卻又容易混淆的css知識點:當margin/padding取形式為百分比的值時,無論是left/right,還是top/bottom,都是以父元素的width為參照物的! 也許你會說,left/right以父元素的w

Android GridView之新增分隔線,動態設定高度實現高度適應,並解決第一個item不顯示的問題

最近做一個專案時遇到一點問題,在這裡分享一下解決思路。 首先看效果圖: 這裡的需求是實現介面中的六個圖示,博主後來和同事討論過這個問題,用 GridView 實現費時費力好嘛,同事認為做6個 Button 就 好了,可能博主就愛鑽牛角尖吧,一開始認為怎麼辦只要還有辦法那就

動態設定GridView的高度,固定column,實現高度適應

動態設定GridView的高度,固定column,根據gridview中的item個數設定高度: 呼叫以下方法: public static void setListViewHeightBased

採用Vue,實現div模擬textarea文字域及高度適應

使用很簡單,一個普通的block元素上加個contenteditable=”true” div 可以實現模擬textarea, span 可以實現模擬input 問題: ios 點選無法獲得焦點,點選沒有反應。android手機能夠點選並進行輸入。 解決:

jquery實現textarea 高度適應

轉載自:http://www.jb51.net/article/61997.htm 用jquery實現的textarea 高度自適應程式碼。這個動畫效果比較流暢。適合新手學習。非常簡單實用,這裡推薦給小夥伴們。 之前給大家分享過用Javascript控制文字框texta

CSS完美實現iframe高度適應(支持跨域)

真的 高度 org lns nal aid .org bsp 方法 Iframe的強大功能偶就不多說了,它不但被開發人員經常運用,而且黑客們也常常使用它,總之用過的人知道它的強大之處,但是Iframe有個致命的“BUG”就是iframe的高度無法自動適應,這一點讓很多人都頭

textarea 高度適應

100% important har .proto paste lin arr property value 一、$(‘textarea‘).keyup(function () { $(this).height(this.scrollHeight); });效果一般

textarea高度適應

area 方案 any 復用 his input extra function csdn textarea高度自適應 有時候寫表單的時候,會有一個 備註框textarea。因為textarea不支持自適應高度,就是定好高度或者是行數之後,超出部分就會顯示滾動條,看起來不

textarea高度適應(可設置最大高度

換行 hid fun utf-8 cti html logs type att <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">

實現不同分辨率下高度適應

tex 微軟雅黑 java utf har -c 自適應 height ont html: <!DOCTYPE html> <html> <head> <meta charset="UTF-8">

微信小程序 Image 圖片實現寬度100%,高度適應

高度自適應 nbsp src 小程序 設置 hello clas 自適應 mode 做法如下: 樣式設置寬度100%, .img{ width:100%;} 添加屬性 mode="widthFix", <image class="img" src="../../ima

android設置GridView高度適應實現全屏鋪滿效果

== post http istview div GridView dap item 拉伸 使GridView每個item的高度自適應拉伸,達到整個GridView剛好鋪滿全屏的效果。 public static void setGridViewMatchParent(G

18_09_05 textarea高度適應 和 Z-index

posit fixed dex UNC eight fun abs tails src 1.textarea高度自適應 $(‘textarea.textarea‘).each(function(i) { $(this).height(this.s