div模擬textarea自適應高度

来源:http://www.cnblogs.com/DTBelieve/archive/2016/04/04/5351475.html
-Advertisement-
Play Games

之前在公司做項目的時候,有這麼一個需求,要我寫一個評論框,可以隨著評論的行數增加而自動擴大,最開始我想用textarea實現,但是後來嘗試後發現textarea並不適合,textarea的高度不會隨著輸入行數的增多而增大,於是我上網尋求了下幫助,發現大神張鑫旭的這篇文章《div模擬textarea文 ...


  之前在公司做項目的時候,有這麼一個需求,要我寫一個評論框,可以隨著評論的行數增加而自動擴大,最開始我想用textarea實現,但是後來嘗試後發現textarea並不適合,textarea的高度不會隨著輸入行數的增多而增大,於是我上網尋求了下幫助,發現大神張鑫旭的這篇文章《div模擬textarea文本域輕鬆實現高度自適應》,成功解決我的問題

代碼如下:

 1  1 <!DOCTYPE html>
 2  2 <html lang="en">
 3  3 <head>
 4  4     <meta charset="UTF-8">
 5  5     <title>div模擬textarea自適應高度le>
 6  6     <style type="text/css">
 7  7         .test_box{
 8  8             width:500px;
 9  9             min-height:200px;
10 10             max-height:600px;
11 11             _height:200px;/*相容IE6瀏覽器*/
12 12             margin:0 auto;
13 13             padding:3px;
14 14             outline:0;
15 15             border:1px solid #e4e4e4;
16 16             font-size:12px;
17 17             word-wrap:break-word;/*用於英文文本自動換行,所有主流瀏覽器支持*/
18 18             overflow-x:hidden;
19 19             overflow-y:auto;
20 20             -webkit-user-modify: read-write-plaintext-only;
21 21         }
22 22     </style>
23 23 </head>
24 24 <body>
25 25     <div class="test_box" contenteditable="true">我是模擬textarea的div</div>
26 26     <script type="text/javascript">
27 27         if (typeof document.webkitHidden == "undefined") {
28 28             // 非chrome瀏覽器阻止粘貼
29 29             box.onpaste = function() {
30 30                 return false;
31 31             }
32 32         }
33 33     </script>
34 34 </body>
35 35 </html>

其中有一兩個從沒見過的屬性:

  • -webkit-user-modify: read-only | read-write | read-write-plaintext-only
    read-only 內容只讀。
    read-write 內容可讀寫。
    read-write-plaintext-only 內容可讀寫,但粘貼內容中的富文本格式(如文本的顏色、大小,圖片等)會丟失。內容類似於以純文本顯示。
  •  contenteditable 屬性規定是否可編輯元素的內容。
    true 規定可以編輯元素內容。
    false 規定無法編輯元素內容。

  

   再次感謝鑫大神(http://www.zhangxinxu.com/),分享了好多非常實用的經驗,等將來能達到他那種高度,我也想寫出好博客分享出來造福人類,哈哈,雖然還很遙遠,繼續fighting~

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 首先,先給大家看一組demo 展示效果: 為什麼會出現空格呢?input不是行內元素嗎?改變一下代碼再看看效果 如果2個input之間沒有間隙的話,下麵的空格就消失了 再試驗一組行內元素: 展示效果如下: 為了使這些行內元素之間的間距消失,我們手動刪除行內元素之間產生的額外空隙,代碼如下 效果圖如下 ...
  • CSS選擇器用於選擇你想要的元素的樣式的模式。 "CSS"列表示在CSS版本的屬性定義(CSS1,CSS2,或對CSS3)。 ...
  • “玉淵潭公園櫻花節”是每年櫻花綻放時,都會在玉淵潭公園櫻舉辦櫻花節,游客前往玉淵潭公園,可以欣賞到20個品種2000株櫻花。2016玉淵潭櫻花節時間:3月中旬-4月中旬觀賞最佳,2016年3月23日開幕(具體開幕時間不詳- -)6:00─20:30(21:30靜園)。櫻花的花期極短,從開花到凋謝只不 ...
  • AntiModerate 是一個漸進式圖片載入的 JavaScript 庫。我們多數看到的圖片顯示模式,都是從上到下逐漸顯示的,這是“標準式”圖像;而有的圖片是先出現一個很低解析度的圖像輪廓,類似加了馬賽克的模糊樣子,當圖片完全載入完畢時,圖片就由模糊變得清晰了,這就是“漸進式”圖像。 線上演示 源 ...
  • 圖像映射 圖像映射也稱為圖像熱點。 作用: 讓同一張圖片上的不同區域,可以實現多個不同的超鏈接功能。 圖示: 圖像映射三步走: 圖像映射的實現需要三方面配合完成: 1、圖像映射容器,就是一個img標簽,需使用usemap屬性與map標簽建立聯繫 2、圖像映射,就是一個map標簽,需要使用name屬性... ...
  • 當IE8發佈時,它將支持很多新的CSS display屬性值,包括與表格相關的屬性值:table、table-row和table-cell,它也是最後一款支持這些屬性值的主流瀏覽器。它標志著複雜CSS佈局技術的結束,同時也給了HTML表格佈局致命一擊。最終,使用CSS佈局來製作出類似於table佈局 ...
  • IP:是網路中唯一標識一臺電腦的邏輯標識。 特例:127.0.0.1 localhost 例子:192.168.33.xxx (對應門牌號碼,身份證號碼) 點分十進位形式,分成四段 範圍:0~255.0~255. 0~255. 0~255 DN:Domain Name 功能變數名稱 例子:www.baidu... ...
  • 瀏覽器相容性常見 瀏覽器相容問題⼀:不同瀏覽器的標簽預設的外補丁和內補丁不同 問題癥狀:隨便寫⼏個標簽,不加樣式控制的情況下,各⾃的margin 和padding差異較⼤。 碰到頻率:100% 解決⽅案:CSS⾥ *{margin:0;padding:0;} 備註:這個是最常 的也是最易解決的⼀個瀏 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...