为何`<span/ >`会渲染空span?是否为浏览器特有行为?
关于
<span/ >写法的HTML标准与浏览器行为解析 合规性说明
HTML标准里,不管是原生空元素(比如<img>)还是常规容器元素(比如<span>),都不允许在自闭合斜杠和右尖括号之间添加空格。你用的<span/ >写法不符合规范,而且<span>本身属于常规容器元素,标准要求必须用<span></span>显式闭合,<span/>这类自闭合写法也不属于标准语法范畴。浏览器能渲染的原因
Chrome、Firefox这类现代浏览器都配有强大的容错解析机制,用来兼容各类不标准的网页代码。对于<span/ >这种写法,浏览器会自动忽略斜杠和>之间的空格,将其识别为<span/>,再进一步容错处理成空的<span>元素。这完全是浏览器的兼容行为,并非HTML标准规定的内容。正确的空span写法
要实现源码换行又不引入渲染空格,符合标准的写法是:<span></span>或者需要源码换行的写法:
<span ></span>这两种写法既符合HTML规范,又能满足你提升源码可读性的需求。
内容的提问来源于stack exchange,提问作者Ana Nimbus
相关产品推荐
相关产品推荐

