DOMに空白のテキストノードができる時に確認すること
最終更新日: Update!!
HTMLコーディングをしている時にブラウザで確認すると、要素の間に謎の空白ができているのに気づいた経験はありますか?これらはソースコード内に改行やスペース、タブなどが含まれていることが原因となる場合もあるのですが、それが当てはまらないケースもあります。そんな時に確認すべき点をまとめていきます。
普段はほとんど耳にしないような言葉ですが、知らないと思わぬところで時間を取られたりするので是非覚えておきたいところですね。
エンコードが「UTF-8 BOM付き」になっている
ブラウザ上で要素の間に空白が発生しており、ソースコードを見ても問題が見当たらない、、そんな時にはブラウザのデベロッパーツールを開いて検証してみましょう。そうすると空白の部分に「&#65279;」と謎のコードが表示されているのが確認できます。…</main> <!-- main end --> " &#65279; " ←このコード <footer>…どうやらこのコードが空白の原因のようです。調べてみるとこのコードは「ゼロ幅ノーブレークスペース」というものを表しているようなのですが、別の意味も併せ持つようです。その別の意味が「バイトオーダーマーク」(BOM)というものです。 このバイトオーダーマークはUnicodeの文字列であることを示す符号で、BOMと呼ばれたり表記されたりする場合もあります。UTF-8やUTF-16などのテキストエンコーディングに用いられており、種類によって数バイトほどのバイト列を持っています。このBOMは文字としては見えないものになりますので、エディタのソースコード上では確認することができません。プログラミングをする上では、このBOMが原因となり文字化けやバグが起こったりしますので注意が必要です。 そんなBOMですが、エディタによってはUTF-8の文字コードを指定した時に自動的に付与されるものもあるようなので注意しましょう。ですので、文字のエンコーディングには「BOMなしのUTF-8」を指定するようにします。このような問題が発生する場合には、一度文字のエンコーディングを確認してBOMが付いていないかどうかをチェックしましょう。

普段はほとんど耳にしないような言葉ですが、知らないと思わぬところで時間を取られたりするので是非覚えておきたいところですね。
sponserd
keyword search
recent posts
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #2
- Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
Shopifyでオリジナルテーマ制作やテーマカスタマイズで使えるTips #1
- ViteでReactとReact Routerを使ってみる
ViteでReactとReact Routerを使ってみる
- ViteでPugのコンパイル環境を導入する
ViteでPugのコンパイル環境を導入する
- ViteでMarkuplintとPrettierを使える環境を構築する
ViteでMarkuplintとPrettierを使える環境を構築する
- ViteでStylelintとESlintを使える環境を構築する
ViteでStylelintとESlintを使える環境を構築する
- マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
マウスオーバーしたセルを含む行列がハイライトするテーブルを作成する:has()擬似クラスの活用例
- ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
ViteでVue.jsとVuex(Pinia)とVue Routerを使ってみる
categories