如何仅使用 css 不使用 javascript 将 <textarea> 高度自动调整为内部文本的高度?
Posted
技术标签:
【中文标题】如何仅使用 css 不使用 javascript 将 <textarea> 高度自动调整为内部文本的高度?【英文标题】:How to automatically adjust the <textarea> height to the inner text's height using only css without using javascript? 【发布时间】:2022-01-13 22:34:37 【问题描述】:是否可以仅使用css而不使用javascript自动将高度调整为内容的高度?
例如,当高度为200px时,当里面的文字只写100px的高度时,我希望不要有空格。
我希望内部文本的高度影响自身的高度。有办法在整个互联网上使用 javascript。但我想只使用 css 和 html 来实现它。我需要帮助!
这是我的代码。
.code-wrap
margin-top: 8px;
border-radius: 8px;
background: #1e1e1e;
max-height: 400px;
.code-title
border-radius: 8px 8px 0 0;
background: #242E64;
padding: 21px 24px;
.area-wrap
padding: 21px 24px;
textarea
border: 0;
resize: none;
width: 100%;
height: 300px;
outline: none;
font-size: 20px;
font-weight: 800;
color: #fff;
background: none;
font-family: 'D2Coding';
<div class="code-wrap">
<div class="code-title"><p>Result</p></div>
<div class="area-wrap">
<textarea
rows="15"
cols="50"
name="quiz-editor"
id="mainResultArea"
class="ed-result"
readOnly
>
</textarea>
</div>
</div>
【问题讨论】:
仅供参考:将 HTML 中的className
更改为 class
,因此 sn-p 看起来更好。
【参考方案1】:
不幸的是,据我所知,使用原始 CSS 或 HTML 并没有很好的方法来做到这一点。但是,您可以远离 textarea
元素,而在 div 或 text 元素上使用 contentEditable
属性。
查看此基本示例并在此示例文本框中写入:
div
border: solid 1px;
padding: 5px;
width: 300px;
min-height: 50px;
overflow: auto;
<div contentEditable></div>
【讨论】:
以上是关于如何仅使用 css 不使用 javascript 将 <textarea> 高度自动调整为内部文本的高度?的主要内容,如果未能解决你的问题,请参考以下文章
隐藏仅使用 CSS 显示内容列表,不使用 javascript
没有 Javascript 的响应式导航栏,仅使用 HTML 和 CSS
如何在没有 CSS 且仅使用 JavaScript 或 jQuery/jQueryMobile 的情况下更改设备方向?
使用 css 过渡和 vanilla JavaScript 更改不透明度仅在淡出时有效
如何让 CSS 选择以字符串开头的 ID(不是在 Javascript 中)?
我如何仅使用HTML CSS和JAVASCRIPT将Square Payment Gateway嵌入网站中?没有框架&&没有其他语言