2012-09-11 13 views
5

私はちょうどIE9バグのこの小さな宝石を明らかにしました。 IE9は、ピリオドの前のスペースをブレー​​クポイントとして認識しないようです。ドメインまたはファイル拡張子のリストの場合と同じです。 IE9で次のようなフィドルを開きます。IE9期間ラップバグ

http://jsfiddle.net/cssguru/nNnzM/1/

私は、エスケープ文字を使用してみましたが、それは助けにはなりませんでした。回避策に関する提案はありますか?

+0

Hmmm .. IE8でも同じ問題です。 –

+0

IE10は同じ問題を抱えていますが、私はそれがバグだとは確信していません。それは意図的かもしれない。 –

+0

私は、 "  .web   .blog   .nyc ..."を追加すると機能しますが、2つのスペースで終わることがわかりました。これは私がやっていることに対してはうまくいくが、私はスレッドを開いたままにして他の誰かがきれいな修正を出すかどうかを見極める。 http://jsfiddle.net/cssguru/nNnzM/4/ –

答えて

6

これは迷惑な機能ですが、意図的であり、ベンダーがバグと見なさない可能性があります。代わりに、Unicode line breaking rules(部分的には奇妙です)を実装するとみなされます。これらのルールによると、ピリオド(またはFULL STOPと呼んでいる)には、改行クラスIS、中文字区切り文字、および「数値コンテキストで使用されていないときは、区切り文字は文末の句読点です。したがって、彼らは常に前に休憩を防ぎます」。

このような問題に対処するには、通常、U + 200B ZERO WIDTH SPACEを通常のスペースとピリオドの間に挿入することが最善の方法です。

.web ​.shop ​.blog ​.nyc ... 

U + 200Bは、許可されていない場所で改行を許可する制御文字です。

古いIEバージョン(IE 6)では、U + 200Bの代わりに表現できない文字のシンボルが表示されることがあります。別の方法である<wbr>タグにはこの問題はありませんが、IE 8以降ではこの古くからのタグを尊重することはしばしばありません。

+0

うわー!洞察力のある応答に感謝します。私はまだ私が "  .web   .shop ..."を好んでいると思いますが、私がより良い返答をしなければ、あなたは答えを与えるでしょう。 –

+0

+1私がここで見た最も有益な答えの一つ。 –

+0

もう少しテストをしましたが、&#x200b;またはがIE8で動作する... http://jsfiddle.net/cssguru/nNnzM/17/ –