精彩文章免费看

IE 浏览器下,textarea 设置 white-space: normal 表现为不允许换行

最初发现的问题是,IE 浏览器中 textarea 聚焦时敲击回车,光标不换行,视觉上只是生成了一个空格。一开始我把问题归咎于 IE 对这个标签支持不够完善,但查看其 DOM 结构以及获取其值后,我发现都是正常换行的,所以才开始一个个排查样式,最终确认是 white-space: normal 导致的。

  • IE textarea + white-space: normal 表现
    <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <style> .test { white-space: normal; </style> </head> <textarea cols="30" rows="10" class="test"></textarea> </body> </html>

    遂修改 white-space: normal white-space: pre-line ,问题得以解决。

    删除 white-space 属性或则修改为 pre-wrap 也可以解决该问题,根据实际环境选择。

  •