基本構造と全体配置

satsukiテンプレートは、ヘッダ部、メイン部、サイドバー部の3つからなります。

構造

satsuki-base.jpg

<!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ハックとして利用できます。

出力クラスバージョンクラス例対応ブラウザ
IEIE5,IE6Internet Explorer
FxFx1 Fx2Firefoxエンジンブラウザ
Fx-Geckoエンジンブラウザ
OperaO8, O9Opera
SafariSa2, Sa3Safari
NotIE-IE以外のブラウザ

(mode_class)には表示モードが出力されます。

出力クラス意味
normal記事表示などのノーマルモード(Ver1.44~)
system管理画面などのシステムモード

div.adiary-body

div.adiary-body は body要素と同じ部分を含みます。miyabiテーマのような横サイズ固定テーマでサイズ固定の壁紙(background-image)を使用する際に利用できます。

div.hatena-body

ヘッダ部を除く、メイン部とサイドバー部を両方含む要素です。

*1 : はてなテーマ利用時は無条件で互換モードになります。これははてなテーマが互換モード用に作られているためです。

片サイドバーのための方法

ただ単純に表示した場合、サイドバーを実現することはできません。片サイドバーを実現するためには、例えば次のようなスタイルシートを記述します(他にも方法はあります)。

/* 全体配置用 */
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"を使用のこと)