たくさんのクリアフィックスハックinline-block
ではなく、流動的でレスポンシブなデザインの一部として幅広く使用したいと思っています。float: left
HTML5 / CSS3がスペースを無視する方法を提供し、誰もがこの新機能をサポートするブラウザーにアップグレードするまで(つまり、運が良ければ5年)、この種のレイアウトを作成する際には常に問題が発生します。
ブラウザがインラインブロック間のスペースをレンダリングする問題を回避するために使用できるハックはたくさんあります。スペースなしでコードを記述したり、スペースをコメントアウトしたり、恐ろしいフォントサイズのハックなどがありますが、どれも私にとってそれほど素晴らしいとは感じません。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()
、簡単に修正できるはずです。