我热衷于将其inline-block
广泛用作流畅、响应式设计的一部分,而不是大量使用float: left
clearfix hack。直到 HTML5/CSS3 提供了一种忽略空格的方法,并且每个人都升级到支持这个新功能的浏览器(也就是说,如果我们幸运的话可能五年),制作这种布局总是会出现问题。
有很多技巧可以用来避免浏览器在行内块之间渲染空间的问题:编写没有空格的代码、注释掉空格、一些可怕的字体大小技巧等,但这些技巧对我来说都不是很好。我正在考虑而不是在body
标签的最底部添加一些内联 JavaScript:
document.getElementById('base').innerHTML = document.getElementById('base').innerHTML.replace(/\x3e\s+\x3c/g, '\x3e\x3c');
本质上是“编写没有空格的代码”实现的事后实现。我已经在一系列浏览器上对其进行了测试,他们似乎都很满意——我的问题是:是否有一些我没有看到的严重隐患?
我在这里创建了一个演示:http: //jsfiddle.net/edwardc/wdz5t/
显然,有时我真的想要空间——我可以轻松处理这些。并且可能存在 JavaScript 绑定脱落的问题——我很确定我的所有 jQuery 绑定总是会在正文底部的脚本运行后附加,即使有问题,.on()
也应该提供一个简单的修复。