にしし ふぁくとりー(西村文宏 個人サイト)

Presented by Nishishi via Movable Type. Last Updated: 2015/09/22. 13:22:33.

floatで回り込んだ文字列が消えるバグの回避策

floatプロパティを使ってブロックを左右に寄せたとき、回り込んだ文字列の表示が消えてしまうバグがIE6にあります。これを回避する方法として、回り込む側のブロックに対して、widthプロパティを使って横幅を明示するというものがあります。

確かに横幅を指定すれば、回り込んだ文字列が消えてしまうバグは回避できるんだけど、レイアウトの仕方によってはwidthプロパティでの横幅の指定が苦しい場合があるのですよね。100%と指定すると、親ブロックとの幅の関係で回り込みが行えなかったり。かといって、99%とか指定するとスペースが無駄になったり。

そういう場合には、widthプロパティじゃなくて、heightプロパティに値「100%」とかを指定すると良いです。回り込んだ文字列の表示が消えてしまうバグの回避策は、何もwidthプロパティで横幅を指定するだけではないのですよね。heightプロパティで高さを指定したって構いません。それでもバグは回避できます。

というわけで、heightプロパティを使って適当な高さを指定しちゃうのが良さそうです。まあ、レイアウトの仕方にも寄るんだけど。段組を組んでる場合は、問題なく使えるんじゃないかと思います。

レイアウト上の都合で、heightプロパティの値に「100%」を指定できない場合は、具体的な値を指定しちゃっても良いでしょう。IE6には、ボックスの高さを勝手に拡張しちゃうバグもあるので、高さを制限しても(制限しない場合と)同じ表示になります。
もっともその場合、CSSを正しく解釈するブラウザ(Firefox・OperaやIE7)では、ちょっと困った表示になる可能性があるので、CSS Hackとかを活用して、IE6以下にのみ適用されるよーな書き方をする必要があるかも知れませんが。

何にしても、widthプロパティに値を指定して回避しようとするよりも、heightプロパティを使って回避する方が、レイアウトの調整面から言って楽な気がします。

コメント

はじめまして。貴記事を拝見致しまして、少々ズレてしまうかとは思うのですが、もしお心当たりの点ございましたら、教えて頂きたいことがございます。
上記ブログ中のコメント記入欄のタイトル、「コメント」「コメントする」およびトラックバックURL表示欄のタイトル「この記事のトラックバック」の各文字がいつの間にか表示されなくなってしまいました。
デフォルトテンプレートでは(それらの文字は)ありましたし、マウスでドラッグすると文字自体は見えますので、なぜここだけ表示されないのかわかりません。
むろん、再度テンプレをDLし直すという手はあるのでしょうが、いろいろとカスタマイズしてしまっておりますので、それはできれば避けたいのです。
申し訳ございませんが、何卒よろしくお願い申しあげます。

投稿者 山口勝広 : 2009年06月26日 16:17

山口さん、こんにちは。
ブログを拝見しましたが、オレンジ色でちゃんと表示されているように見えます。もう解決済みですかね?(^_^;)
文字が消えてしまう場合は、該当箇所の装飾を記述しているスタイルシートのどこかを上書きしてしまったのが原因でしょうから、スタイルシートソース中の該当箇所を(要素名やクラス名などで)検索してみるしかないでしょうね~。

FirefoxのFirebugアドオンみたいな、ソースの解析ツールを使うと、探しやすいと思います。

投稿者 にしし : 2009年06月26日 23:00

にしし様、この度はご回答下さり、ありがとうございました。それと、お返事が遅れて申し訳ありません。
先日ご質問した後、もう一度スタイルシートをチェックしたところ、
.tb_title {
font-size: 11px;
font-weight: bolder;
color: #D98719;
}
のcolor部分がなぜか#000000 になっていることに気づき修正することができました。カラー指定を変えたつもりはないのですが…これは今でも謎です。( ゚Д゚)???
この度はアドバイスどうもありがとうございました。

投稿者 山口勝広 : 2009年06月29日 14:07

コメント数: 3件

コメント投稿欄 この日記に対するコメント投稿を歓迎します。

保存しますか?



※本文中にURLは書けません。(書くと投稿が拒否されますのでご注意下さい。)

※投稿内容は、実際にページ上に掲載される前に、管理者によって確認される設定にしている場合があります。その場合は、投稿後にその旨が表示されます。たいてい1~2日以内には表示されるはずですので、気長にお待ち願います。m(_ _)m

トラックバック

このエントリーへのトラックバックURLを表示するにはここをクリック
※スパム防止のため、トラックバックURLは別ウインドウで表示します。(JavaScriptが有効でないと表示されません。)

--- 当サイト内を検索 ---