基本構造と全体配置
satsukiテンプレートは、ヘッダ部、メイン部、サイドバー部の3つからなります。
構造

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html><body class="(agent_class)(mode_class)"> <div class="adiary-body"> <!--ヘッダ部--> <div class="adminmenu"> ようこそxxxさん ログイン </div> <div class="page-title"> <h1><a href="xxx">ページタイトル</a></h1> </div> <div class="hetane-body-top"></div> <div class="hatena-body"> <!--メイン部--> <div class="main"> 記事などのデータ <div class="footer"> <hr class="footer"> フッター </div> </div> <!--サイドバー部--> <div class="sidebar"> <div class="side-a"> サイドバー前半 </div> <div class="side-b"> サイドバー後半 </div> </div> </div><!-- End of hatena-doby --> <div class="hetane-body-bottom"></div> </div><!-- End of adiary-body --> </body></html>
HTMLヘッダ
1行目には DOCTYPE が来ます。上の例では標準準拠モードとなります。標準準拠モードでレンダリングが基本です。*1
IE6やIE7に標準準拠モードでレンダリングさせると表示が崩れる上、いわゆるアンダースコアハックが無効となるため、IE7以前では後半部は出力されず互換モードとしてレンダリングされます(IE8以降は標準準拠モードです)。
body
(agent_class)部に利用ブウラザに応じたクラスが出力されます。あまり推奨されませんが、必要最小限のブラウザ別CSSハックとして利用できます。
| 出力クラス | バージョンクラス例 | 対応ブラウザ |
|---|---|---|
| IE | IE5,IE6 | Internet Explorer |
| Fx | Fx1 Fx2 | Firefoxエンジンブラウザ |
| Fx | - | Geckoエンジンブラウザ |
| Opera | O8, O9 | Opera |
| Safari | Sa2, Sa3 | Safari |
| NotIE | - | IE以外のブラウザ |
(mode_class)には表示モードが出力されます。
| 出力クラス | 意味 |
|---|---|
| normal | 記事表示などのノーマルモード(Ver1.44~) |
| system | 管理画面などのシステムモード |
div.adiary-body
div.adiary-body は body要素と同じ部分を含みます。miyabiテーマのような横サイズ固定テーマでサイズ固定の壁紙(background-image)を使用する際に利用できます。
div.hatena-body
ヘッダ部を除く、メイン部とサイドバー部を両方含む要素です。
片サイドバーのための方法
ただ単純に表示した場合、サイドバーを実現することはできません。片サイドバーを実現するためには、例えば次のようなスタイルシートを記述します(他にも方法はあります)。
/* 全体配置用 */
div.hatena-body {
position: relative;
width: 98%;
}
/* 日記部 */
div.main {
margin-left: 200px;
}
/* 左側にメニューを配置 */
div.sidebar
{
position: absolute;
left: 0px;
top: 0px;
width: 180px;
}
両サイドバーのための方法
同じく両サイドバーを実現するための基本配置法(のサンプル)です。
div.hatena-body {
position: relative;
width: 1000px;
}
div.main {
margin-left: 200px;
width: 600px;
}
div.side-a
{
position: absolute;
left: 0px;
top: 0px;
width: 180px;
}
div.side-b
{
position: absolute;
left: 810px;
width: 180px;
}
はてな互換のためのクラス
次の要素ははてな互換のためのクラス名/IDです。利用しないでください。
<div id="simple-header">(class="adminmenu"を使用のこと)