前端开发小技巧 - 【CSS】- 表单控件的 placeholder 如何控制换行显示?

表单控件的 placeholder 如何换行展示?

  • HTML 中,<textarea> 元素的 placeholder 属性默认情况下不支持换行。
  • 不过,可以通过以下几种方法来实现换行效果:

模版字符串

  • 模板字符串可以轻松地创建多行字符串,而不需要使用换行符 \n

    typescript 复制代码
    const message = `这是一个多行字符串。
    可以方便地包含换行。`
    console.log(message)

使用 CSS

  • 可以使用 CSS 来模拟换行效果。

  • 通过设置 white-space: pre-wrap;word-wrap: break-word; 可以让 placeholder 文本换行。

    css 复制代码
    textarea::placeholder {
        white-space: pre-wrap; /* 保留空白符序列,但是正常地进行换行 */
        word-wrap: break-word; /* 在长单词或 URL 地址内部进行换行 */
    }

使用 JavaScript

  • 可以通过 JavaScript 动态地设置 placeholder,并在其中包含换行符 \n。不过,这种方法在某些浏览器中可能不被支持。

    javascript 复制代码
    document.querySelector('textarea').setAttribute('placeholder', '第一行\n第二行');

使用 HTML 实体

  • 可以使用 HTML 实体 &#10;&#13; 来表示换行符,但这在 placeholder 中可能不会生效。

    html 复制代码
    <textarea placeholder="第一行&#10;第二行"></textarea>

使用 title 属性

  • 如果上述方法都不适用,你可以考虑使用 title 属性来显示多行文本提示。

    html 复制代码
    <textarea title="第一行 第二行"></textarea>
  • 请注意,不同浏览器对这些方法的支持程度可能有所不同,因此在实际应用中需要进行兼容性测试。

相关推荐
王夏奇11 分钟前
python中的__all__ 具体用法
java·前端·python
大家的林语冰1 小时前
《前端周刊》尤大开源 Vite+ 全家桶,前端工业革命启动;尤大爆料 Void 云服务新产品,Vite 进军全栈开发;ECMA 源码映射规范......
前端·javascript·vue.js
jiayong231 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
田八1 小时前
聊聊AI的发展史,AI的爆发并不是偶然
前端·人工智能·程序员
zhanghongbin011 小时前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
IT_陈寒1 小时前
Python的列表推导式里藏了个坑,差点让我加班到凌晨
前端·人工智能·后端
吴声子夜歌2 小时前
ES6——正则的扩展详解
前端·mysql·es6
天***88522 小时前
Edge 浏览器离线绿色增强版+官方安装包,支持win7等系统
前端·edge
漫游的渔夫2 小时前
别再直接 `json.loads` 了!AI 返回的 JSON 坑位指南
前端·人工智能
软件工程师文艺2 小时前
从0到1:Claude Code如何用React构建CLI应用
前端·react.js·前端框架