網(wǎng)站制作四大環(huán)節(jié)中中除了策劃、設(shè)計(jì)、程序外,就是前端了。隨著Html5的發(fā)展和普及,Html5非常受歡迎,其功能強(qiáng)大,瀏覽器支持良好,做為一個(gè)前端工程師,大展拳腳的機(jī)會(huì)來(lái)了。盡管如果,前端工程師的水平層次又差別開來(lái)了。
前端制作靜態(tài)頁(yè)面的時(shí)候經(jīng)常會(huì)使用textarea標(biāo)簽進(jìn)行多行文本區(qū)域的制作,但是textarea標(biāo)簽的輸入有很多限制,比如不能實(shí)現(xiàn)高度自適應(yīng),會(huì)出現(xiàn)難看的滾動(dòng)條,默認(rèn)狀態(tài)下可拉伸等問(wèn)題。不利于頁(yè)面簡(jiǎn)介美觀。
那么要怎么調(diào)控呢?
HTML5中添加了一個(gè)新屬性contenteditable,該屬性可以讓input,textarea以外的不可編輯的標(biāo)簽具備可編輯功能;
用法如下:
//contenteditable="true" 當(dāng)屬性值為true的時(shí)候,可編輯標(biāo)簽內(nèi)可以寫入標(biāo)簽,對(duì)于復(fù)制的具有樣式的內(nèi)容,其樣式會(huì)保留; <div contenteditable="true">我是可編輯的富文本框</div> //contenteditable="plaintext-only" 當(dāng)屬性值為plaintext-only時(shí),該可編輯標(biāo)簽內(nèi)只能寫入純文本的數(shù)據(jù),對(duì)于復(fù)制的具有樣式的內(nèi)容,會(huì)轉(zhuǎn)換為純文本,而將樣式標(biāo)簽等內(nèi)容過(guò)濾掉; <div contenteditable="plaintext-only"></div>
如果不使用該屬性,可以使用js控制textarea的高度;原理是當(dāng)textarea出現(xiàn)滾動(dòng)條時(shí),增加其高度,使?jié)L動(dòng)條消失。
怎樣判斷是否出現(xiàn)滾動(dòng)條,其方法是但元素的scrollHeight大于offsetHeight的時(shí)候,即出現(xiàn)了滾動(dòng)條;
實(shí)現(xiàn)方法如下:
//html <textarea id="text"></textarea> //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 標(biāo)簽?zāi)J(rèn)狀態(tài)下可拖動(dòng)這個(gè)問(wèn)題,HTML 標(biāo)簽 textarea 在大部分瀏覽器中只要指定行(rows)和列(cols)屬性,就可以規(guī)定 textarea 的尺寸,大小就不會(huì)改變,不過(guò)更好的辦法是使用 CSS 的 height 和 width 屬性,但是Chrome,Safari和FireFox渲染的效果不同,可以拖動(dòng)右下角圖標(biāo)改變大小。但是過(guò)分拖動(dòng)大小會(huì)影響頁(yè)面布局,使頁(yè)面變得不美觀??梢酝ㄟ^(guò)添加如下兩個(gè)樣式禁用拖動(dòng),固定大?。?br />
1.徹底禁用拖動(dòng)(推薦)
resize: none;
2.只是固定大小,右下角的拖動(dòng)圖標(biāo)仍在
width: 200px;
height: 100px;
max-width: 200px;
max-height: 100px;
一般來(lái)說(shuō)設(shè)計(jì)師設(shè)計(jì)的設(shè)計(jì)稿上需要用到 textarea 標(biāo)簽的地方都有明確的寬高限制,那么在寫樣式的時(shí)候加一個(gè)resize: none; 屬性可以徹底禁用拖動(dòng),而參照上面的JS調(diào)控高度自適應(yīng)的方法則可以使并不美觀的滾動(dòng)條消失,從而達(dá)到實(shí)現(xiàn)功能的同時(shí)是頁(yè)面變得美觀。
作者:方維網(wǎng)絡(luò)樂(lè)文慶
如沒(méi)特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來(lái)自http://www.oulysa.com/news/4160.html