ようやく改行が直りました

2005年12月 6日(火) 16:17 | 日記

パソコンでこの日記を見ている方の大半が、WindowsのInternet Explorerを使っています。
「なんでこの日記は改行がないのか」
「読みにくい」
と思われた方も多いと思います。
でも実際は、文章を読みやすくするために、ところどころに空行を入れていました。
IE以外のブラウザー、たとえばFirefoxOperaでは、空行は正しく表示されました。しかし、大多数のユーザーが使用するIEだけが、入れたはずの空行が表示されなかったのです。

今日、ようやくその原因が分かりました。
この日記では、文章を読みやすくするために文字と文字の間に1ピクセル分のスペースを空けています。
専門的な話になりますが、ブログの本文にあたる部分について、スタイルシートで以下のような記述をしています。

letter-spacing:1px;

しかし、この記述をした部分については、IEではbrタグによる連続した改行が、なぜか1行分の改行しか反映されないのです。
つまり、日記を書くときにどれだけ改行を入れて空行を作っても、IEでは空行が表示されないわけです。
これはIEのバグです。つまりはマイクロソフトの不備です。シェア9割のソフトなのに、こんなバグを平然と放置しているのです。呆れたものです。

そのバグを回避する方法が、以下の記述です。

br{letter-spacing:0;}

brタグの文字間を0ピクセルに指定することで、上記の文字間指定がbrタグについて適用されなくなり、その結果としてIEでも改行が記述通りに表示されるようになるわけです。
それにしても、単なる改行を表すタグのbrに「文字間の指定」をするなんて意味が分かりませんね。これだからマイクロソフトは…。

ともあれ、これでIEでも改行が正しく表示されるようになったので、今までよりはいくぶんか読みやすくなったはずです。

IEには上記のバグの他にも、スタイルシートの表示に関するさまざまなバグがあるので、できれば別のブラウザーを使うことをおすすめしたいところですが、困ったことに世の中には「間違った仕様」のIEに合わせて作ったサイトが数多く存在するので、「正しい仕様」のFirefoxやOperaだとうまく表示されないサイトも多いのが現実です。もちろんFirefoxやOperaにもバグは存在するわけで、100%正しいわけではないのですが。
結局、「仕様が正しいか正しくないか」の判断は、スタイルシートやHTMLの文法に沿っているかどうかではなく、「シェアが多いか少ないか」で決まってしまうんですよね。
ただ、サイトを作る人には、せめてIE以外のブラウザーでも正常に表示されるかチェックしていただきたいものです。シェア5%のブラウザーを使い続ける僕みたいな人もいるわけですから。

コメント

段落があるのをご存知ですか?

段落<p></p>があるのをご存知ですか?

そういえば、以前そんな話をしたことがありましたね。
今度は私の環境(IE)でちゃんと空行が表示されていますよ。

言われてみれば、自分のHPもIE以外のチェックをしていませんね。
これを機会に他のブラウザも使ってみようと思います。

もちろん<p>があることは知っていますよ。あと、<br>を連続して使うことがHTMLの仕様として好ましくないことも。
ただ、この日記はブログの投稿フォームを使って書いているので、そこにいちいちタグを書くのは面倒なわけですよ。フォームで改行すれば、改行は自動的に<br>に変換されるし、連続した改行はそのまま<br>数個分になりますから、それを利用した方が楽なわけです。要は、掲示板にコメントを投稿するのと同じことですね。
でも、<p>を使いたい場合は、<p>をフォームの中に書かなければいけないわけです。これはかなり面倒です。
だから、CSSを修正することでどうにかしたかったわけです。

>りりあさん
あの時指摘していただかなければ、この問題をスルーしたままにするところでした。ありがとうございました。
日記の最後の部分は、一部の商用サイトに向けて書いたつもりでしたが、今読み返すとものすごく偉そうなことを言ってますね。ごめんなさい…。

了解しました。現実解という感じですね。

このバグが解決できなくて困ってたんですよ。
うまくいきました、ありがとうございました。
私の場合、「 」をの前に入れて、ごまかしていたんですが、これでスッキリします。

↑の「&nbsp」と「<br>」が消えちゃってます。

お役に立ててうれしいです。
自分も一時期はbrタグの前に全角スペースを入れてバグをやり過ごそうと思ったことがありましたが、いろいろネットで調べてみたら解決方法が見つかったので、どうにか事なきを得ました。
90%のシェアがあるブラウザーにこんな大きなバグがあったなんて、呆れましたよ。ブログを投稿する時、いちいちpタグなんて使っていられませんしね。携帯からも投稿しますから。

もうすぐIE7が出るらしいですが、バグが直っていることを切に願います。

コメントを投稿

※サーバーの状況によって、投稿完了まで時間がかかることがあります。
※投稿内容がすぐに反映されないことがありますが、ページを再読み込みするとコメントが表示されます。
※入力したURLは公開されますが、メールアドレスは公開されません(管理者に対してのみ通知されます)。