繁体   English   中英

Css :: textarea 上的第一个字母不起作用

[英]Css ::first-letter on textarea does not work

我想让 textarea 中输入的每个第一个字母都大写。 但是当我尝试这段代码时,它不起作用:

HTML

<textarea name="content" rows="18" placeholder="Your Message"
          title="Give Your Advice To Us" wrap="soft"></textarea>

CSS

textarea::first-letter {
  text-transform: uppercase;
}

我怎样才能解决这个问题?

textarea 不能有::first-letter伪元素。 只有块容器可以有这样的伪元素,但由于它的性质,textarea 不能是块容器,因此你不能用 CSS 模拟这种行为。

无论如何,将文本转换应用于表单字段通常从来都不是一个好主意。 您只是在更改文本输入的外观 — 实际提交的文本不会对其应用转换。 如果您确实希望文本始终以大写字母开头,请在服务器端对其进行验证,或者仅使用 JavaScript 强制执行。 你如何做到这一点超出了这个问题的范围,因为它完全取决于你的用例,但我相信你可以找到另一个满足你需求的问题。

您需要一个块容器才能使用::first-letter伪元素:

<p>
    <textarea name="content" rows="18" placeholder="Your Message"
              title="Give Your Advice To Us" wrap="soft"></textarea>
</p>

还有你的 CSS:

p::first-letter {
  text-transform: uppercase;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM