IE6でブロック要素の背景色や枠線が消える現象と対策
このサイトでは、CSS の設定により、記事本文などに背景色をつけて枠線で囲っています。
ところが、IE6 で表示させたときになぜだか枠線の上部が欠けてしまったり、背景色が付かなかったり……という現象が発生し、悩まされていました。
Firefoxだと正常に表示されるし、IE6 でもスクロールして戻ってくるとちゃんと表示されたり……と謎の動作をするのです。
ところが、IE6 で表示させたときになぜだか枠線の上部が欠けてしまったり、背景色が付かなかったり……という現象が発生し、悩まされていました。
Firefoxだと正常に表示されるし、IE6 でもスクロールして戻ってくるとちゃんと表示されたり……と謎の動作をするのです。
いろいろ試してみたところ、どうやら CSS の position 属性に原因があるように思えて来ました。
どうも、position: relative; に設定された要素の子要素以下で、明示的に幅(width)属性を指定しなかった場合、その要素内部の表示がおかしくなる模様です。
どうも、position: relative; に設定された要素の子要素以下で、明示的に幅(width)属性を指定しなかった場合、その要素内部の表示がおかしくなる模様です。
これまでの CSS 設定は以下のような感じになっていました。
主要な設定のみ抜粋。背景色は解りやすくするためのもの。
#banner {} | ||||
#pagebody {
position: relative;
width: 100%;}
|
これを実際に設定して表示させたイメージは次のようになります。
これをIE6で表示すると、【記事本文】の部分に背景色が付かなかったり、枠線が欠けたりします。
一方、サイドバーには width 属性が設定されているため、その内部要素(【マイリスト】)もきちんと表示されます。
一方、サイドバーには width 属性が設定されているため、その内部要素(【マイリスト】)もきちんと表示されます。
サイドバー
【マイリスト】
コンテンツ
【記事本文】
これを、次のように変更してみました。
class="entry-body"にwidth属性を追加。
#banner {} | ||||
#pagebody {
position: relative;
width: 100%;}
|
これを実際に設定して表示させたイメージは次のようになります。
IEで表示しても、【記事本文】の背景色や枠線がきちんと表示されます。
サイドバー
【マイリスト】
コンテンツ
【記事本文】
« カレンダースクリプト:カレンダーのみの表示切替 | トップページ | 終わらなかった……orz »
「パソコン・インターネット」カテゴリの記事
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
- BIGLOBE光ネクスト(大阪)の通信速度問題 - プロバイダ選びは難しい……(2015.08.13)
- BOOK☆WALKER さんに関して最近経験した不安と不満(2015.08.10)
- 『#鳥獣戯画制作キット』が楽しい(2015.07.01)
「覚書」カテゴリの記事
- 鍛高譚 ~ カレイにまつわる物語(2018.05.25)
- ココログをTwitterカードに対応させてみる(2016.11.23)
- 神使の兎 ~宇治神社にて~(2016.07.10)
- Twitter 原寸びゅー:PC版ブラウザ用・Twitterの画像閲覧と保存がはかどる拡張機能の紹介(2016.02.12)
- スマートフォンをPC上の音楽を再生するためのリモコンとして使いたい(2016.01.10)
コメント