固定3カラムのIE6・後方互換モード対処方法
公開中の固定3カラムテンプレートをXHTMLに適用させる場合、1行目にXML宣言、
<?xml version="1.0" encoding="utf-8"?>
をテンプレートに記述する場合がありますが、この時IE6では強制的に表示モードが「後方互換モード」、つまり古いブラウザへの互換性を保とうとするモードになります。
「後方互換モード」は「標準モード」と解釈の違いがあり、その中のひとつに width プロパティに padding / border プロパティのサイズを含む・含まないの解釈の違いがあります。後方互換モードでは width に padding / border のサイズを含むため、含まないサイズ指定を行っている公開テンプレートでXML宣言を行うと左右のカラム幅が画像のように崩れてしまうという問題がありました(というかそもそも私の解釈誤り)。
1行目にXML宣言を記述しなければこのような問題は発生しないのですが、ウェブスタンダードに準拠して運用される場合の制約となってしまいます。
ということで、3カラム固定の公開テンプレートについて、いずれの表示モードにも依存せずに表示させる修正方法を提示します。具体的には、両者のプロパティを同時にひとつのブロックに記述しなければ回避できる問題ですので、新しいブロックを追加します。
なお、text-align:プロパティを追加しないとセンタリングされないという問題もありますのでそれも併せて記述します。
本記事の参照元は下記です。ありがとうございました。
1.スタイルシート修正
styles-site.css の左右カラム指定のIDセレクタについて、下記リストのように赤字部分を削除し、青字のIDセレクタを新たに追加します。
#links-right-box {
float: left;
width : 185px ;
}
#links-right{
float: left;
width : 155px ;
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
color: #ffffff;
}
#links-left-box {
float: left;
width : 185px ;
}
#links-right{
float: left;
width : 155px ;
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
color: #ffffff;
}
また3カラム全体をセンタリングさせる場合は、body 要素に青色の text-align プロパティ を追加してください。
body {
margin: 0px 0px 20px 0px;
background:#8FABBE; /* 背景色 */
text-align:center;
}
2.テンプレート修正
3カラム化しているテンプレート全てについて、下記リストのように links-left、links-right のタグの外側を括る形で青字のタグを追加します。
:
<!-- 左サイドバー開始 -->
<div id="links-left-box">
<div id="links-left">
:
</div>
</div>
<!-- 左サイドバー終了 -->
<!-- 中央コンテンツ開始 -->
:
<!-- 中央コンテンツ終了 -->
<!-- 右サイドバー開始 -->
<div id="links-right-box">
<div id="links-right">
:
</div>
</div>
<!-- 右サイドバー終了 -->
:
3.もう少しきれいに
実は左右のセレクタの内容は全く同じ内容ですので、
.links-box {
float: left;
width : 185px ;
}
.links{
padding-top : 15px;
padding-left : 15px;
padding-right : 15px;
color: #ffffff;
}
というまとめた指定も可能です(妥当かどうかは別として)。テンプレートのid 属性は class 属性に変更してください。
上記の修正によって標準モード・後方互換モードのいずれでも画像のような表示になります。なおIE6のみの対処ですので他のブラウザについて適正な表示をするには別の方法が必要かも知れませんので予めご容赦ください。 公開中の固定3カラムのテンプレートは修正済みです。 |
- Movable Typeのコンテンツデータで公開日を比較する方法
- MT7テンプレート作成画面に表示される「コンテンツタイプ」「コンテンツフィールド」の意味
- Movable Typeでテンプレートの動作を簡単に確認する方法
- Movable Typeでスマホサイト用トップページをPCサイト用トップページと異なるURLにする方法
- Movable TypeでCSSファイルやJavaScriptファイルなどを管理するためのTips
- Movable Type 4.2 テンプレートセット(コミュニティ用)修正
- Movable Type 4.2 テンプレートセット(コミュニティブログ対応版)修正
- Movable Type 4.2 テンプレートセット(コミュニティブログ対応版)
- Movable Type 4.2 配布テンプレートセット修正(カテゴリーアーカイブ・コメント完了)
- Movable Type 4.2 テンプレートセット修正(アーカイブインデックス追加等)
- Movable Type 4.2 テンプレートセット修正
- Movable Type 4.1 テンプレートセット修正
- 「iPhoneテンプレートfor MT」 by cremadesign
- Movable Type 4.1 テンプレートセット(スタイル対応版)
- 小粋空間テンプレートセットのカラムレイアウト変更方法
≫ 配置がずれる from Mistgrass Weblog
実験室のほうで、小粋空間さんのテンプレートの3カラム固定にチャレンジしてみまし... [続きを読む]
≫ 今日のXHTML+CSS:IE6の後方互換モード対策 from 世界中の1%の人々へ
「XHMLはXMLなんだからXML宣言をいれるべき」という文章を1ヶ月前に目にしてから、寝ても覚めても、この言葉が頭から離れなかった。 ところが、XML... [続きを読む]
こんばんはー^^
お役に立てて幸いでした。
うちと同じ構成になってるよ!とちょっと感動&びっくりです。
>もそさん
こんにちは。
仕組みがわかると非常に便利な構造ですね。
あの記事がなかったらずっと崩れたままだったと思います。(笑)
日々精進ですね。
改めましてありがとうございました。