lxq.link
postscategoriestoolsabout

处理HTML的空白元素

普通的HTML标签,如div和p,默认会对空白元素做合并处理。

window.onload = () => {
    document.getElementById('txt').innerHTML = "山花     如绣颊\n江火     似流萤"
}

上面的文本会解析成如下格式:

如果想保留换行或者多空格的行为,可以通过设置CSS的white-space属性来实现:

#txt {
    /*保留空格,保留换行符 */
    white-space: pre-wrap;
}

#txt {
    /* 合并空格,保留换行符 */
    white-space: pre-line; 
}


各种 white-space 值的行为:

属性换行符空格和制表符文字转行
normal合并合并转行
nowrap合并合并不转行
pre保留保留不转行
pre-wrap保留保留转行
pre-line保留合并转行
break-spaces保留保留转行

mdn 文档 : https://developer.mozilla.org/zh-CN/docs/Web/CSS/white-space

2020-07-17