網(wǎng)站制作四大環(huán)節(jié)中中除了策劃、設(shè)計、程序外,就是前端了。隨著Html5的發(fā)展和普及,Html5非常受歡迎,其功能強大,瀏覽器支持良好,做為一個前端工程師,大展拳腳的機會來了。盡管如果,前端工程師的水平層次又差別開來了。
前端制作靜態(tài)頁面的時候經(jīng)常會使用textarea標簽進行多行文本區(qū)域的制作,但是textarea標簽的輸入有很多限制,比如不能實現(xiàn)高度自適應,會出現(xiàn)難看的滾動條,默認狀態(tài)下可拉伸等問題。不利于頁面簡介美觀。
那么要怎么調(diào)控呢?
HTML5中添加了一個新屬性contenteditable,該屬性可以讓input,textarea以外的不可編輯的標簽具備可編輯功能;
用法如下:
//contenteditable="true" 當屬性值為true的時候,可編輯標簽內(nèi)可以寫入標簽,對于復制的具有樣式的內(nèi)容,其樣式會保留;
我是可編輯的富文本框
//contenteditable="plaintext-only" 當屬性值為plaintext-only時,該可編輯標簽內(nèi)只能寫入純文本的數(shù)據(jù),對于復制的具有樣式的內(nèi)容,會轉(zhuǎn)換為純文本,而將樣式標簽等內(nèi)容過濾掉;
如果不使用該屬性,可以使用js控制textarea的高度;原理是當textarea出現(xiàn)滾動條時,增加其高度,使?jié)L動條消失。
怎樣判斷是否出現(xiàn)滾動條,其方法是但元素的scrollHeight大于offsetHeight的時候,即出現(xiàn)了滾動條;
實現(xiàn)方法如下:
//html
//css #text{ font-size: 20px; overflow: hidden; //必須 } //js $('#text').on('input',function(){ if(text.scrollHeight>text.offsetHeight){ THeight += 20; //font-size的大小是20,因此每次給textarea的高度增加20px $('#text').css('height',THeight); } })
而關(guān)于textarea 標簽默認狀態(tài)下可拖動這個問題,HTML 標簽 textarea 在大部分瀏覽器中只要指定行(rows)和列(cols)屬性,就可以規(guī)定 textarea 的尺寸,大小就不會改變,不過更好的辦法是使用 CSS 的 height 和 width 屬性,但是Chrome,Safari和FireFox渲染的效果不同,可以拖動右下角圖標改變大小。但是過分拖動大小會影響頁面布局,使頁面變得不美觀??梢酝ㄟ^添加如下兩個樣式禁用拖動,固定大?。?br />1.徹底禁用拖動(推薦)
resize:none;
2.只是固定大小,右下角的拖動圖標仍在
width:200px;
height:100px;
max-width:200px;
max-height:100px;
一般來說設(shè)計師設(shè)計的設(shè)計稿上需要用到 textarea 標簽的地方都有明確的寬高限制,那么在寫樣式的時候加一個resize:none; 屬性可以徹底禁用拖動,而參照上面的JS調(diào)控高度自適應的方法則可以使并不美觀的滾動條消失,從而達到實現(xiàn)功能的同時是頁面變得美觀。
作者:創(chuàng)新互聯(lián)樂文慶
網(wǎng)頁標題:網(wǎng)站前端制作中關(guān)于textarea高度自適應調(diào)控及防止拖動
當前地址:http://jinyejixie.com/news/238813.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、App設(shè)計、定制網(wǎng)站、網(wǎng)站導航、網(wǎng)站設(shè)計公司、做網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)