欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何讓一個textarea自動擴展到最大高度?

林國瑞2年前9瀏覽0評論

我正在學習CSS。我有一個包含靈活的文本區的div。現在,我希望當用戶在textarea中輸入多行內容時,textarea和外部div自動擴展高度,當textarea超過3行時,停止擴展并滾動textarea。我應該如何寫CSS?

呈現的代碼:

.outerdiv {
  height: auto;
  display: flex;
}

.outerdiv textarea {
  height: 100%;
  flex-grow: 1;
}

<div class="outerdiv">
  <textarea></textarea>
</div>

我不認為有css解決方案。

然而,這個JS有點像你想要的:

function updateTextarea() {
   var textarea = document.getElementById("textarea");
    // Get line height of the textarea
   var lht = parseInt($('textarea').css('lineHeight'),10);
    // Get lines 
   var scrlht = textarea.scrollHeight;
   var lines = Math.floor(scrlht / lht);
   
   if (lines < 4) {
    textarea.style.height = '15px'
    textarea.style.height = (lines * lht) + 'px'
   }
 }

textarea {
line-height: 15px;
height: 15px;
}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <textarea id='textarea' oninput="updateTextarea()"></textarea>
</div>

你可以把這個絕對精彩的答案改寫如下:

textarea {
  height: 1rem;
}

<textarea 
  data-max-height = "48" 
  name="text" 
  oninput='this.style.height = "";this.style.height = Math.min(this.scrollHeight, this.getAttribute("data-max-height")) + "px"'
  >
</textarea>