<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
	<title>テーマ開発ドキュメント</title>
	<link>http://adiary.org/theme_doc/</link>
	<language>ja</language>
	<description></description>
	<copyright>Copyright 2008</copyright>
	<pubDate>Thu, 13 Mar 2008 03:57:28 GMT</pubDate>
	<lastBuildDate>Sat, 19 Apr 2008 11:39:48 GMT</lastBuildDate>
	<generator>http://adiary.abk.nu/#1.991</generator>
	<docs>http://blogs.law.harvard.edu/tech/rss</docs> 
	<item>
		<title>画像で枠を作る方法</title>
		<link>http://adiary.org/theme_doc/image-box#tm1193375648</link>
		<guid>http://adiary.org/theme_doc/image-box</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 11:04:56 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>テーマを作成していると、画像で枠を作りたいと思うことが多々あります。このような時に使用するテクニックを紹介します。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/image-box#p1"><span>■</span></a>目標</h3>
<div>
<p><a href="http://adiary.org/public/image/theme_doc/sidebar.png"><img alt="sidebar.png" title="sidebar.png" src="http://adiary.org/public/image/theme_doc/sidebar.png"></a></p>
</div>
<p>HTMLのソース（<a href="http://adiary.org/theme_doc/satsuki-sidebar" title="記事指定 ">詳細はこちら</a>）。両サイドバー表示の左側です。</p>
<pre>
&lt;div class="side-a"&gt;
	&lt;div class="side-a-top"&gt;&lt;/div&gt;&lt;div class="side-a2"&gt;
		サイドバーの中身
	&lt;/div&gt;&lt;div class="side-a-bottom"&gt;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p><a href="http://adiary.org/theme_doc/?theme/satsuki/miyabi-multiside" title="テーマ ">表示例</a>。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/image-box#p2"><span>■</span></a>部品の分解</h3>
<p>まずサイドバーの枠画像を３つの部品に分解します。</p>
<table>
<tbody>
	<tr><th>side-top.gif</th><th>side-middle.png</th><th>side-bottom.png</th></tr>
	<tr><td><a href="http://adiary.org/public/image/theme_doc/side-top.gif"><img alt="side-top.gif" title="side-top.gif" src="http://adiary.org/public/image/theme_doc/side-top.gif"></a></td><td><a href="http://adiary.org/public/image/theme_doc/side-middle.png"><img alt="side-middle.png" title="side-middle.png" src="http://adiary.org/public/image/theme_doc/side-middle.png"></a></td><td><a href="http://adiary.org/public/image/theme_doc/side-bottom.png"><img alt="side-bottom.png" title="side-bottom.png" src="http://adiary.org/public/image/theme_doc/side-bottom.png"></a></td></tr>
	<tr><td>155×28</td><td>155×1</td><td>155×23</td></tr>
</tbody></table>
<p>最初の画像だけgifになっているのは、左上部を透過させるためです。透過pngはIE6がまともに扱えません。各モジュールのタイトル部画像は次を使います。</p>
<table>
<tbody>
	<tr><th colspan="2">side-title.png</th></tr>
	<tr><td><a href="http://adiary.org/public/image/theme_doc/side-title.png"><img alt="side-title.png" title="side-title.png" src="http://adiary.org/public/image/theme_doc/side-title.png"></a></td><td>137×40</td></tr>
</tbody></table>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/image-box#p3"><span>■</span></a>CSSの記述</h3>
<p>横幅は 155px ですから、まずそれに合わせて全体の外枠を決めます。</p>
<pre>
div.side-a &#123;
	width:		155px;
}
</pre>
<p>このブロックの上下に画像を貼り付けます。HTMLとよく対比してみてください。</p>
<pre>
div.side-a-top &#123;
	background-image:	url("side-top.gif");
	height:			28px;
	width:			155px;
}
div.side-a-bottom &#123;
	background-image:	url("side-bottom.png");
	height:			23px;
	width:			155px;
}
</pre>
<p>中間部分はリピートさせ、また内部の要素が画像をはみ出さないように適切な padding を指定します。</p>
<pre>
div.side-a2 &#123;
	background-image:	url("side-middle.png");
	background-repeat:	repeat-y;
	padding:		1px 9px 1px 9px;  /* 155-9-9 = 137px（内側） */
}
</pre>
<p>上下の「パディング 1px」を取らないとマージンの相殺が発生しうまく表示されなくなります。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/image-box#p4"><span>■</span></a>モジュールの記述</h3>
<p>モジュールは次のように記述しました。</p>
<pre>
div.hatena-module &#123;  /* モジュール間の隙間 */
	margin-bottom:	1em;
}
div.hatena-moduletitle &#123;
	background-image:	url("side-title.png");
	background-repeat:	no-repeat;  /* 文字がはみ出すとIEで領域が大きくなるため */
	color:			#444;
	min-height:		29px; /* = 40-11 */
	_height:		40px; /* IEが min-height 非対応のため */
	padding:		11px 0px 0px 0px;
	font-size:		115%;
	font-weight:		bold;
	text-align:		center;
}
/* sidebar項目本体 */
div.hatena-modulebody &#123;
	color:			#644;
	padding:		0 0.4em 0.2em 0.4em;
	margin-top:		0;
}
</pre>
<p>テーマを作っているとIEの計り知れないバグの多さ（理解に苦しむレンダリングの挙動）に辟易するかも知れませんが、_ （アンダーバー付き）のプロパティで地道に修正するしかありません。</p>

</div>

<hr>
<h4><a href="/theme_doc/image-box#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/image-box#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>小技集</title>
		<link>http://adiary.org/theme_doc/kowaza#tm1193312053</link>
		<guid>http://adiary.org/theme_doc/kowaza</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 11:02:01 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<ul>
	<li><a href="http://adiary.org/theme_doc/kowaza#p1">IEでのみ解釈される属性値</a>
	<li><a href="http://adiary.org/theme_doc/kowaza#p2">divなどの配置を確認する</a>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/kowaza#p1"><span>■</span></a>IEでのみ解釈される属性値</h3>
<p>どのブラウザでもバクや非対応のプロパティは付き物ですが、IEの非対応プロパティの多さとバグの多さは他の追従を許さず抜きんでています。IEにはアンダースコアハックと言い、IEでのみ有効になるプロパティの指定方法があります。</p>
<pre>
span.test &#123;
	color: blue;
	_color: red;
}
</pre>
<p>としたとき、span.test は IEでは赤く、IE以外では青く表示されます。IEではすべてプロパティにおいて「<span>_</span>（アンダースコア）」を付けることでIEにだけ読み込ませることができます。この方法を利用する際は、<strong>アンダースコア付きの属性を後に書く</strong>ことに注意してください。</p>
<p>人によって、本来は記述する必要はないがIEのためだけに記述しなければならないプロパティを書く際に <span>_</span> を付けたりします。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/kowaza#p2"><span>■</span></a>divなどの配置を確認する</h3>
<p>テーマを開発していると、要素の配置状況かよく分からなくなることが多々あります。また厳密な境界位置が知りたいことも少なくありません。こんなときは</p>
<pre>
div.sidebar &#123; border: 1px solid red; }
</pre>
<p>などとすることで、枠線を表示させてどこがブロック（や要素）の境界なのか簡単に知ることができます。むしろCSSをいじって配置を行うときは、border表示をさせたままの方が便利です。</p>
<p>完全に配置が終わり、いざborderを外すとでたらめな位置にレンダリングされることがありますが、これは<a href="http://adiary.org/theme_doc/margin#p2" title="記事指定 ">マージンの相殺</a>によるものです（またborderで使用していた1px分だけ位置がずれるます）。そのときは「border: 1px」→「padding: 1px」に書き換えると良いでしょう。</p>

</div>

<hr>
<h4><a href="/theme_doc/kowaza#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/kowaza#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>カスケーディング</title>
		<link>http://adiary.org/theme_doc/cascading#tm1193312041</link>
		<guid>http://adiary.org/theme_doc/cascading</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 09:41:30 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>CSSには複数のプロパティ指定が重複した場合、どちらが優先するかを決める厳密なルールがあります。カスケーディングというのですが、これについて簡単に説明します。<span><a title="必ずしも正確ではない用語を使っていますが、分かりやすさを優先させているためです。ご了承ください。" href="http://adiary.org/theme_doc/cascading#fn1">*1</a></span></p>
<ul>
	<li><a href="http://adiary.org/theme_doc/cascading#p1">カスケーディングの例</a>
	<li><a href="http://adiary.org/theme_doc/cascading#p2">優先度のルール</a>
	<ul>
		<li><a href="http://adiary.org/theme_doc/cascading#p2.1">IDの指定</a>
		<li><a href="http://adiary.org/theme_doc/cascading#p2.2">クラスによる指定</a>
		<li><a href="http://adiary.org/theme_doc/cascading#p2.3">親子関係による指定</a>
		<li><a href="http://adiary.org/theme_doc/cascading#p2.4">クラス同時指定</a>
		<li><a href="http://adiary.org/theme_doc/cascading#p2.5">順序</a>
	</ul></li>
</ul>
</div>
<div>
	<p><a href="http://adiary.org/theme_doc/cascading#n1">*1</a> : 必ずしも正確ではない用語を使っていますが、分かりやすさを優先させているためです。ご了承ください。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/cascading#p1"><span>■</span></a>カスケーディングの例</h3>
<pre>
<span>CSS</span>
.color &#123; color:red; }
span.color &#123; color: blue; }
<span>HTML</span>
&lt;span class="color"&gt;色付き文字&lt;/span&gt;
</pre>
<p>としたとき、クラスcolor には２種類の色が指定されています。どちらの色が優先されて出力されるでしょうか？<span><a title="HTMLを構成する都合上、本文のソースでは直接色などを指定しています" href="http://adiary.org/theme_doc/cascading#fn2">*2</a></span></p>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<p>赤という色指定と青という色指定が２つあって結果的には青が表示されました。これがカスケーディングです。<span>&lt;span class=&quot;color&quot;&gt;色付き文字&lt;/span&gt;</span>という要素に対する指定は２種類ありましたが、要素名が付いている<span>span.color</span>の方が優先度が高いのです。</p>
<p>ではCSSを変更するとどうなるでしょう。</p>
<pre>
.color &#123; color:red; font-weight: bold; }
span.color &#123; color: blue; }
</pre>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<p>優先度の高いspan.colorで太字を指定してないにも関わらず太字になりました。これは、カスケーディングによる優先度評価が起こるのは<strong>競合する（同じ効果の）プロパティを指定したときのみ</strong><span><a title="「効果の」付くのは、例えば「margin」と「margin-left」は異なるプロパティですが重複したものを指定しているため（指定の競合がおこるため）化スケーディングが起こります。" href="http://adiary.org/theme_doc/cascading#fn3">*3</a></span>だからです。</p>
</div>
<div>
	<p><a href="http://adiary.org/theme_doc/cascading#n2">*2</a> : HTMLを構成する都合上、本文のソースでは直接色などを指定しています</p>
	<p><a href="http://adiary.org/theme_doc/cascading#n3">*3</a> : 「効果の」付くのは、例えば「margin」と「margin-left」は異なるプロパティですが重複したものを指定しているため（指定の競合がおこるため）化スケーディングが起こります。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/cascading#p2"><span>■</span></a>優先度のルール</h3>
<ol>
	<li>IDによる指定</li>
	<li>クラスによる指定</li>
	<li>親子関係による指定</li>
	<li>同時クラス指定</li>
	<li>順序</li>
</ol>
<h4><a href="http://adiary.org/theme_doc/cascading#p2.1"><span></span>IDの指定</a></h4>
<p>IDによる指定はすべてに優先します。</p>
<pre>
<span>CSS</span>
#color &#123; color:red; } /* IDによる指定 */
span &#123; color: blue; }
span.green &#123; color:green; }
<span>HTML</span>
&lt;span class="green" id="color"&gt;色付き文字&lt;/span&gt;
</pre>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<h4><a href="http://adiary.org/theme_doc/cascading#p2.2"><span></span>クラスによる指定</a></h4>
<pre>
<span>CSS</span>
span &#123; color: blue; }
span.green &#123; color:green; }
<span>HTML</span>
&lt;span class="green"&gt;色付き文字&lt;/span&gt;
</pre>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<h4><a href="http://adiary.org/theme_doc/cascading#p2.3"><span></span>親子関係による指定</a></h4>
<pre>
<span>CSS</span>
div.red span &#123; color: red; }
span &#123; color: blue; }
<span>HTML</span>
&lt;div class="red"&gt;&lt;span class="green"&gt;色付き文字&lt;/span&gt;&lt;/div&gt;
</pre>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<p>親子関係を指定した方が優先されます。<strong>親子関係の階層数は深ければ深いほど優先されます</strong>。すでに設定されている設定値を上書きする際に、よくクラス修飾を深くして記述するなどの方法が取られます。</p>
<h4><a href="http://adiary.org/theme_doc/cascading#p2.4"><span></span>クラス同時指定</a></h4>
<pre>
<span>CSS</span>
span.red  &#123; color: red; }
span.blue &#123; color: blue; }
span.red.blue &#123; color: magenta; } /* クラス同時指定 */
<span>HTML</span>
&lt;span class="red blue"&gt;色付き文字&lt;/span&gt;
</pre>
<blockquote>
<p><span>色付き文字</span></p>
</blockquote>
<h4><a href="http://adiary.org/theme_doc/cascading#p2.5"><span></span>順序</a></h4>
<pre>
<span>CSS</span>
span.color &#123; color: red; }
span.color &#123; color: blue; }
span.color2 &#123; color: green; }
<span>HTML</span>
&lt;span class="color"&gt;色付き文字&lt;/span&gt;
&lt;span class="color color2"&gt;色付き文字&lt;/span&gt;
&lt;span class="color2 color"&gt;色付き文字&lt;/span&gt;
</pre>
<blockquote>
<p><span>色付き文字</span></p>
<p><span>色付き文字</span></p>
<p><span>色付き文字</span></p>
</blockquote>
<p>同レベルの優先度ならば（CSS中で）後から指定された方が優先されます。</p>

</div>

<hr>
<h4><a href="/theme_doc/cascading#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/cascading#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>absolute位置指定</title>
		<link>http://adiary.org/theme_doc/absolute#tm1196149287</link>
		<guid>http://adiary.org/theme_doc/absolute</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 09:11:54 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>デザイン上、ある要素を「<strong>この場所に表示したい</strong>」と決めうちすることも少なくありません。このときに必要になるのが absolute による位置指定です。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/absolute#p1"><span>■</span></a>absoluteの使い方</h3>
<p>先に例を示してみましょう。</p>
<pre>
&lt;div style="position: relative; border: 1px solid red;"&gt;
&lt;div style="margin-left: 200px;"&gt;margin-left: 200px;&lt;/div&gt;
&lt;div style="position: absolute; top: 0; width: 180px;"&gt;
position: absolute;&lt;br&gt;top: 0;&lt;br&gt;width: 180px;&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>として表示させると<span><a title="表示部のソースでは背景色などを表示するため class=&quot;box2&quot; が追加されています。" href="http://adiary.org/theme_doc/absolute#fn1">*1</a></span></p>
<blockquote>
<div style="position: relative; border: 1px solid red;">
<div style="margin-left: 200px;">margin-left: 200px;</div>
<div style="position: absolute; top: 0; width: 180px;">position: absolute;<br>top: 0;<br>width: 180px;</div>
</div>
</blockquote>
<p>となります。これはサイドバーの表示に使っている手法です。</p>
<p>親要素中の、<strong>position: relative;</strong>となっているものの（なければ表示領域中の）左上座標基準として、そこからの位置を <strong>position: aboslute</strong>とした上で top や left プロパティ使って指定します。</p>
<p>aboslute は非常に強力であり、各要素を HTMLの出現順序に関わらず自由な位置に配置することができます。</p>

</div>
<div>
	<p><a href="http://adiary.org/theme_doc/absolute#n1">*1</a> : 表示部のソースでは背景色などを表示するため class="box2" が追加されています。</p>
</div>

<hr>
<h4><a href="/theme_doc/absolute#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/absolute#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>paddingとmargin相殺</title>
		<link>http://adiary.org/theme_doc/margin#tm1205380648</link>
		<guid>http://adiary.org/theme_doc/margin</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 05:50:35 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>CSSを理解する上で欠かせない要素がマージンとパディングです。</p>
<p>詳しくは<a href="http://www.nextindex.net/web/tut/CSStut/">CSS入門講座（SUGAIさん著）</a>の中の<a href="http://www.nextindex.net/web/tut/CSStut/margin.html">マージン</a>と<a href="http://www.nextindex.net/web/tut/CSStut/padding.html">パディング</a>などを参照して頂くとして、簡単におさらいして注意点を述べておきます。</p>
<ul>
	<li><a href="http://adiary.org/theme_doc/margin#p1">padding と margin </a>
	<li><a href="http://adiary.org/theme_doc/margin#p2">marginの相殺</a>
	<li><a href="http://adiary.org/theme_doc/margin#p3">ブロックのwidthとIEのバグ</a>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/margin#p1"><span>■</span></a>padding と margin </h3>
<p>各要素は、マージンとパディング、そしてwidthというプロパティを持ちます。これは要素の配置に関連するプロパティです。まずは図をみてください。</p>
<p><a href="http://adiary.org/public/image/theme_doc/padding.png" title="画像アルバム "><img alt="padding.png" src="http://adiary.org/public/image/theme_doc/padding.png"></a></p>
<p>マージン（margin）は余白に相当します。他の要素と自分のブロックの隙間（マージン）をどれくらい取るべきかという指定です。</p>
<p>パディングは自分のブロック内の要素を表示するとき、内側に向けてどれだけ位置を詰めるか（どの部分を表示領域とするか）を指定します。</p>
<p>なぜ似たような指定が２つあるのかということですが、これには意味があります。</p>
<ul>
	<li>border（枠線）は margin の内側で padding の外側（２つの境界）に配置される。</li>
	<li><strong>padding は指定した値だけ必ず領域が確保されるが、marginは相殺される</strong>。</li>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/margin#p2"><span>■</span></a>marginの相殺</h3>
<p>上の図で、div(A) の margin-bottom が "20px"、div(B)の margin-top が "10px" のとき、この２つ<strong>divブロックの空間は20pxです。10+20=30pxと思った人は間違えです</strong>。margin は２つの領域間の「空間の最低値」を指定するものだからです。</p>
<blockquote>
<p>margin-bottom: 20px; → 下の要素と<strong>最低でも20px</strong>は開けなさい</p>
<p>margin-top: 10px; →上の要素と<strong>最低でも10px</strong>は開けなさい</p>
</blockquote>
<p>という意味になります。</p>
<p>では次の図とCSSのとき、x, y の長さはそれぞれ何pxになるでしょうか？</p>
<p><a href="http://adiary.org/public/image/theme_doc/margin.png" title="画像アルバム "><img alt="margin.png" src="http://adiary.org/public/image/theme_doc/margin.png"></a></p>
<pre>
div.C &#123; border: 1px solid blue; margin-bottom: 15px; }
div.A &#123; border: none;           margin-top: 10px; }
div.B &#123; border: 1px solid blue; margin-top: 15px; }
</pre>
<p>x の長さはすぐに分かりますよね。div.C の 15px と div.A の 10px で大きい方になりますから「x=15px」です。ではyはどうなるでしょうか？　正解は<strong>y も 15px です</strong>。つまり、この場合<strong>div.Aの上辺とdiv.Bの上辺は一致してしまいます</strong>。</p>
<p>テーマを作成しているときに陥りやすい問題なのですが、子要素div.Cのマージンは<strong>親要素にpaddingもborderもないとき親要素のマージンを含めて他の要素と相殺します</strong>。別の言い方をすれば、中身のない要素同士は中身のある要素を見つけるまでどこまででもマージンを相殺します。</p>
<p>adiaryのテーマCSSをみていると、よく「<span>padding: 1px;</span>」という表記を見つけるのですが、これは内部の子要素がさらに外側のマージンまで相殺しないようにする工夫（細工）です。代わりに枠線（border）を付けても同じ作用を起こせますが、枠線は表示されてしまうため、（枠線を出したくないところでは）paddingを使って不用意な相殺が発生しないようにしています。</p>
<p>ここでは相殺を上下方向についてのみ説明しましたが、左右についても全く同じことが起こります。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/margin#p3"><span>■</span></a>ブロックのwidthとIEのバグ</h3>
<p>ブロック（要素）の横幅を固定したいときはCSSの「width」プロパティを使います。例えば、横幅800px固定のテーマなど、この指定は非常によく使われます。</p>
<p><a href="http://adiary.org/public/image/theme_doc/div-width.png" title="画像アルバム "><img alt="div-width.png" src="http://adiary.org/public/image/theme_doc/div-width.png"></a></p>
<p>CSSにおけるwidthは<strong>該当ブロックからborderの太さとpaddingを除いた内部の横幅</strong>として定義されています。<strong>borderとpaddingはwidthに含まれない</strong>ということを理解しておいてください。</p>
<p>ただしIE（の後方互換モード）ではこの解釈にバグがあり<strong>borderとpaddingを含んだ幅をwidthとして指定します</strong>。</p>
<p>ですから、ある要素をIEとそれ以外のモダンブラウザで正しく表示するためには、paddingとborder、widthの単位系をすべて統一して次のように細工しなければなりません。</p>
<pre>
div.w800 &#123;
	padding: 1em 10px 1em 20px;  /* 上, 右, 下, 左 */
	border: 1px solid blue; 
	width: 728px; /* 800 - 20 - 10 - 1*2 = 728 */
	_width: 800px; /* IEでのみ有効な属性値 */
}
</pre>
<p>またIE6において<strong>width値が瞬時に決まらないと表示されたり／消えたりするバグ</strong>があり、不必要に<strong>_widthを人間が計算して予め書いておく</strong>作業が必要になることがあります。</p>

</div>

<hr>
<h4><a href="/theme_doc/margin#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/margin#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>inline要素とblock要素</title>
		<link>http://adiary.org/theme_doc/inline-block#tm1193307635</link>
		<guid>http://adiary.org/theme_doc/inline-block</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 05:22:45 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>CSSとは、同名のHTML開始タグと終了タグで囲われた部分を要素とみなし、その要素に対するレンダリング（表示方法）を指示するものです。</p>
<pre>
&lt;div&gt;タイトル&lt;span&gt;作成講座&lt;/span&gt;&lt;/div&gt;
</pre>
<p>この例では、<span>&lt;div&gt;</span> の要素は「タイトル<span>&lt;span&gt;</span>sssss<span>&lt;/span&gt;</span>」であり、<span>&lt;span&gt;</span>の要素は「作成講座」です。このような構造が無数に入れ子状になったものがHTML、このHTMLの表示方法を指示するものがCSSとなります。<span><a title="昔はCSSはなく、直接HTMLを使ってデザインすることが多かったのですが、文章の意味とデザインを分離するという立場からCSSが広く使われるようになると、HTMLから徐々にデザインの要素が排除されていきました。（新しいHTMLの仕様ではデザインに関するタグや属性は非推奨や使用禁止になっています。）" href="http://adiary.org/theme_doc/inline-block#fn1">*1</a></span></p>
<p>このような要素には大きく分けて２つの種類があります。</p>
</div>
<div>
	<p><a href="http://adiary.org/theme_doc/inline-block#n1">*1</a> : 昔はCSSはなく、直接HTMLを使ってデザインすることが多かったのですが、文章の意味とデザインを分離するという立場からCSSが広く使われるようになると、<strong>HTMLから徐々にデザインの要素が排除されていきました。</strong>（新しいHTMLの仕様ではデザインに関するタグや属性は非推奨や使用禁止になっています。）</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/inline-block#p1"><span>■</span></a>inline要素とblock要素</h3>
<p>インライン要素とは文章の一部を<strong>太字に修飾する</strong>といった、ある文章中での装飾などに使われる要素です。代表選手は<span>&lt;span&gt;タグ</span>になります。</p>
<p>ブロック要素とは<span>&lt;p&gt;タグ</span>で囲まれた段落や記事のかたまり、adiaryで言えば１つの記事、１つのサイドバー要素などはすべてブロック要素です。代表選手は<span>&lt;div&gt;タグ</span>になります。<strong>この２つを区別することはCSSでデザインを行う上で大変重要です</strong>。</p>
<p>例を示します。次のようなHTMLを書いてみます。<span><a title="adiaryの編集画面で単純に入力する場合は、パーサーが働くので改行されてしまいます。" href="http://adiary.org/theme_doc/inline-block#fn2">*2</a></span></p>
<pre>
&lt;div class="box1"&gt;タイトルはブロック要素にします&lt;/div&gt;
&lt;span class="box1"&gt;インライン要素は&lt;/span&gt;
&lt;span class="box1"&gt;このように横に連結されます。&lt;/span&gt;
&lt;span class="box1"&gt;しかし&lt;/span&gt;
&lt;div class="box1"&gt;ブロック要素は横に連結せず行を独占します&lt;/div&gt;
何もタグがついていない部分もインライン要素です。
</pre>
<p>外枠線を付けるため、今box1というクラスを指定しました<span><a title="このクラスは、ユーザースタイルシートで指定したものですので、他の記事にコピーしても枠線はでません。" href="http://adiary.org/theme_doc/inline-block#fn3">*3</a></span>。</p>
<blockquote>
<div>タイトルはブロック要素にします</div>
<span>インライン要素は</span>
<span>このように横に連結されます。</span>
<span>しかし</span>
<div>ブロック要素は横に連結せず行を独占します</div>
何もタグがついていない部分もインライン要素です。
</blockquote>
</div>
<div>
	<p><a href="http://adiary.org/theme_doc/inline-block#n2">*2</a> : adiaryの編集画面で単純に入力する場合は、パーサーが働くので改行されてしまいます。</p>
	<p><a href="http://adiary.org/theme_doc/inline-block#n3">*3</a> : このクラスは、ユーザースタイルシートで指定したものですので、他の記事にコピーしても枠線はでません。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/inline-block#p2"><span>■</span></a>CSSによる指定</h3>
<p>CSSによって特定のクラスのインライン/ブロックを変更することができます。例えば通常のリスト</p>
<pre>
&lt;ul&gt;
&lt;li&gt;リスト１&lt;/li&gt;
&lt;li&gt;リスト２&lt;/li&gt;
&lt;li&gt;リスト３&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>を表示すると</p>
<blockquote>
<ul>
<li>リスト１</li>
<li>リスト２</li>
<li>リスト３</li>
</ul>
</blockquote>
<p>となりますが、CSSでliをインライン要素にしてしまうと表示ががらりと変わります。</p>
<pre>
&lt;ul class="inline"&gt;
&lt;li&gt;リスト１&lt;/li&gt;
&lt;li&gt;リスト２&lt;/li&gt;
&lt;li&gt;リスト３&lt;/li&gt;
&lt;/ul&gt;
（CSS）
ul.inline li &#123; display: inline; }
</pre>
<p>表示例</p>
<blockquote>
<ul>
<li>リスト１</li>
<li>リスト２</li>
<li>リスト３</li>
</ul>
</blockquote>
<p>このようにCSSを使うことで、リストをインラインに変えるなんてこともできてしまいます。</p>

</div>

<hr>
<h4><a href="/theme_doc/inline-block#c">■コメント（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
<h4><a href="/theme_doc/inline-block#tb">■トラックバック（0件）</a></h4>
<div style="margin-left: 1em;">
</div>
]]></description>
	</item>
	<item>
		<title>テーマ作成講座</title>
		<link>http://adiary.org/theme_doc/howto-css#tm1193305248</link>
		<guid>http://adiary.org/theme_doc/howto-css</guid>
		<category>未分類</category>
		<pubDate>Thu, 25 Oct 2007 04:52:01 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>テーマ開発に必要なCSSの知識について解説します。</p>
<p>前提知識として<a href="http://www.tohoho-web.com/css/basic.htm">とほほのスタイルシート入門（基礎知識）</a>を一度読んでおいてください。とほほには記述の古い部分もありますが、だいたいの基礎は書かれています。</p>

</div>

]]></description>
	</item>
	<item>
		<title>特殊なクラス</title>
		<link>http://adiary.org/theme_doc/satsuki-etc#tm1193199636</link>
		<guid>http://adiary.org/theme_doc/satsuki-etc</guid>
		<category>未分類</category>
		<pubDate>Tue, 23 Oct 2007 17:51:05 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>より凝った（複雑な？）テーマ作成を支援する、条件によって変わる特殊なクラス出力を解説します。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-etc#p1"><span>■</span></a>wiki関連クラス出力</h3>
<dl>
	<dt>body.wikiクラス</dt><dd>wikiコンテンツを単一記事表示しているときに出力されます。</dd>
	<dt>div.wikiクラス</dt><dd>該当記事がwikiコンテンツのとき出力されます（<a href="http://adiary.org/theme_doc/satsuki-main#p2" title="記事指定 ">詳細</a>）。</dd>
</dl>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-etc#sys"><span>■</span></a>システム関連クラス出力</h3>
<p>この項目の div.* は div.adiary-body と同時クラス指定として出力されます。</p>
<dl>
	<dt>body.system</dt><dd>システムモードのとき出力されます。</dd>
	<dt>div.daybook-owner</dt><dd>日記帳（ブログ）の所有者／管理者のとき出力されます。</dd>
	<dt>div.daybook-editor</dt><dd>日記帳の記事編集権限があるとき（管理者含む）出力されます。</dd>
	<dt>div.contents-bar-exists</dt><dd>コンテンツバーが存在するとき出力されます。この条件でマージン（パディング）値が指定されているので、CSSでコンテンツバーを扱う際は解除してください。</dd>
</dl>
<p>例として、ログイン時（編集権限があるとき）およびシステムモード以外では、右上のログインなどを隠すCSSを示します。</p>
<pre>
div.adminmenu &#123; display: none; }
body.system div.adminmenu, 
div.daybook-editor div.adminmenu &#123;
	display: none;
}
</pre>
<p>これで一般利用者にはログイン等が見えなくなります。ただ、ログインへのリンクも無くなりますので、ログインのページをブックマークしておくなどの対策が必要です。<span><a title="もっとも URL に ?login を付加するだけですが" href="http://adiary.org/theme_doc/satsuki-etc#fn1">*1</a></span></p>

</div>
<div>
	<p><a href="http://adiary.org/theme_doc/satsuki-etc#n1">*1</a> : もっとも URL に ?login を付加するだけですが</p>
</div>

]]></description>
	</item>
	<item>
		<title>コンテンツバー</title>
		<link>http://adiary.org/theme_doc/satsuki-contents-bar#tm1193312224</link>
		<guid>http://adiary.org/theme_doc/satsuki-contents-bar</guid>
		<category>未分類</category>
		<pubDate>Tue, 23 Oct 2007 17:46:51 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>コンテンツ一覧をサイドバーではなくプルダウンメニューしとて表示するため機能があります。これをコンテンツバーと言います。</p>
<p>かなり高度であるため触らない方が無難です。<strong>テーマとしての対応は任意です</strong>（必須ではない）。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-contents-bar#p1"><span>■</span></a>コンテンツバーの詳細</h3>
<p>div.page-titleのあとに出力されます。日記帳の詳細設定で「コンテンツバー」の表示をオンにしてコンテンツを作成すると表示されます。HTMLとしては単なるulです。</p>
<pre>
&lt;div class="contents-bar"&gt;
&lt;div id="contents-bar0"&gt;&lt;/div&gt;&lt;div id="contents-bar"&gt;
&lt;ul class="clist"&gt;
	&lt;li&gt;&lt;a href="～"&gt;あいうえお&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="～"&gt;テスト投稿&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="～"&gt;Hello World!&lt;/a&gt;
	&lt;ul class="clist2"&gt;
		&lt;li&gt;&lt;a href="～"&gt;C#&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="～"&gt;C言語&lt;/a&gt;
		&lt;ul class="clist3"&gt;
			&lt;li&gt;&lt;a href="～"&gt;C&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="～"&gt;C++&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="～"&gt;C++/CLI&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="～"&gt;Java&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div id="contents-bar1"&gt;&lt;/div&gt;&lt;/div&gt;
</pre>
<p>やってみると分かりますが、一見CSSとは思えない動作をします。</p>
<p>IEのためだけにJavaScriptを使っていますが、それでもIEでは３階層目以降は表示されません。</p>
<p>base.css に記述されていますが、<strong>よほどCSSに自信がない限り全体の幅と背景色（リンク色）と各タブの幅以外はいじらない（オーバーライドしない）方が無難です</strong>。どうしてもいじりたい人のための参考URLを書いておきますが、触らない方が無難です。あまりに複雑怪奇なため、<strong>テーマとしての対応は任意です</strong>。</p>
<p>カスタマイズ時は<a href="http://adiary.org/theme_doc/satsuki-etc#sys" title="記事指定 ">こちらも参照ください</a>。</p>
<ul>
	<li><a href="http://www.seo-equation.com/reference/cat17/pulldown_menu">CSS プルダウンメニュー</a>（SEO-Equation）</li>
	<li><a href="http://www.stylish-style.com/csstec/ultimate/css-roll-1.html">99%CSSで作るプルダウンメニュー１</a> <a href="http://www.stylish-style.com/csstec/ultimate/css-roll-2.html">２</a> <a href="http://www.stylish-style.com/csstec/ultimate/css-roll-3.html">３</a>（WEB工房きくちゃん）</li>
</ul>

</div>

]]></description>
	</item>
	<item>
		<title>コンテンツ/カレンダー</title>
		<link>http://adiary.org/theme_doc/satsuki-sidebar2#tm1201059269</link>
		<guid>http://adiary.org/theme_doc/satsuki-sidebar2</guid>
		<category>未分類</category>
		<pubDate>Tue, 23 Oct 2007 17:02:53 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<ul>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar2#contents">コンテンツ一覧</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar2#calendar">カレンダー</a>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar2#contents"><span>■</span></a>コンテンツ一覧</h3>
<p>adiaryにはコンテンツ一覧を自動的に生成しサイドバー（等）に階層表示する機能があります。階層は任意で３階層まで指定できます。</p>
<pre>
&lt;div class="hatena-module <span>side-contents-list</span>"&gt;
&lt;div class="hatena-moduletitle"&gt;コンテンツ&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section side-contents-list"&gt;
	&lt;li&gt;&lt;a href="/about.html"&gt;adiaryについて&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="/theme_doc/satsuki-main"&gt;メイン部&lt;/a&gt;
	&lt;ul class="hatena-section side-contents-list"&gt;
		&lt;li&gt;&lt;a href="/theme_doc/satsuki-mainh2"&gt;記事タイトル&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="/theme_doc/satsuki-bodyheader"&gt;記事ヘッダ&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;
</pre>
<p>コンテンツはul階層の入れ子になっています。注意点は、他のモジュールはid指定で出力されるのに対し、<strong>コンテンツ一覧はクラス出力のみ</strong>であることです。</p>
<p>これは理由があり、例えばこのテーマドキュメントのように「コンテンツがメインのサイト」としてadiaryを利用する場合、「日記帳の詳細設定」→「wiki設定」→「最上位コンテンツを項目化」をチェックすることで複数のモジュールをコンテンツのリストとして出力できるからです。この場合次のようになります。</p>
<pre>
&lt;div class="hatena-module side-contents-list"&gt;
&lt;div class="hatena-moduletitle"&gt;&lt;a href="～"&gt;はじめに&lt;/a&gt;&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section side-contents-list"&gt;
	&lt;li&gt;&lt;a href="～"&gt;テンプレートとテーマ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class="hatena-module side-contents-list"&gt;
&lt;div class="hatena-moduletitle"&gt;&lt;a href="～"&gt;satsukiテンプレート&lt;/a&gt;&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section side-contents-list"&gt;
	&lt;li&gt;&lt;a href="～"&gt;ヘッダ部&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="～"&gt;メイン部&lt;/a&gt;
	&lt;ul class="hatena-section side-contents-list"&gt;
		&lt;li&gt;&lt;a href="～"&gt;記事タイトル&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="～"&gt;記事ヘッダ&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;div class="hatena-module side-contents-list"&gt;
&lt;div class="hatena-moduletitle"&gt;&lt;a href="～"&gt;テーマ作成Tips&lt;/a&gt;&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="side-contents-list hatena-section"&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;
</pre>
<p>コンテンツに関するモジュールが複数出力されていることが分かります。コンテンツメニューの書式は普通のサイドバーモジュールと変えた方が扱いやすいです。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar2#calendar"><span>■</span></a>カレンダー</h3>
<p>単純なようで、複雑なクラス構造をしているのがカレンダーです。</p>
<pre>
&lt;div class="hatena-module" id="side-calendar"&gt;
&lt;div class="hatena-moduletitle"&gt;カレンダー&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;&lt;div class="side-calendarbody"&gt;
&lt;table class="calendar" summary="calendar"&gt;
&lt;tr class="calendar-month"&gt;
	&lt;td class="calendar-prev-month" colspan="2"&gt;
	&lt;a href="～/200709"&gt;&amp;lt;&amp;lt;&lt;/a&gt;&lt;/td&gt;
	&lt;td class="calendar-current-month" colspan="3"&gt;
	&lt;a href="～/200710"&gt;2007/10&lt;/a&gt;&lt;/td&gt;
	&lt;td class="calendar-next-month" colspan="2"&gt;
	&lt;a href="～/200711"&gt;&amp;gt;&amp;gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td class="calendar-sunday   w0"&gt;日&lt;/td&gt;
	&lt;td class="calendar-weekday  w1"&gt;月&lt;/td&gt;
	&lt;td class="calendar-weekday  w2"&gt;火&lt;/td&gt;
	&lt;td class="calendar-weekday  w3"&gt;水&lt;/td&gt;
	&lt;td class="calendar-weekday  w4"&gt;木&lt;/td&gt;
	&lt;td class="calendar-weekday  w5"&gt;金&lt;/td&gt;
	&lt;td class="calendar-saturday w6"&gt;土&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td&gt;&lt;/td&gt;
	&lt;td class='calendar-day w1'&gt;1&lt;/td&gt;
	&lt;td class='calendar-day w2'&gt;2&lt;/td&gt;
	&lt;td class='calendar-day w3 day-today'&gt;3&lt;/td&gt;
	&lt;td class='calendar-day w4'&gt;4&lt;/td&gt;
	&lt;td class='calendar-day w5'&gt;5&lt;/td&gt;
	&lt;td class='calendar-day w6'&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
	&lt;td class='calendar-day w0'&gt;7&lt;/td&gt;
	&lt;td class='calendar-day w1 w0 holiday' title="体育の日"&gt;&lt;a href="～"&gt;8&lt;/a&gt;&lt;/td&gt;
	&lt;td class='calendar-day w2'&gt;9&lt;/td&gt;
	&lt;td class='calendar-day w3'&gt;10&lt;/td&gt;
	&lt;td class='calendar-day w4'&gt;11&lt;/td&gt;
	&lt;td class='calendar-day w5 day-selected'&gt;&lt;a href="～"&gt;12&lt;/a&gt;&lt;/td&gt;
	&lt;td class='calendar-day w6'&gt;13&lt;/td&gt;
&lt;/tr&gt;
（中略）
&lt;tr&gt;
	&lt;td class='calendar-day w0'&gt;28&lt;/td&gt;
	&lt;td class='calendar-day w1'&gt;29&lt;/td&gt;
	&lt;td class='calendar-day w2'&gt;30&lt;/td&gt;
	&lt;td class='calendar-day w3'&gt;31&lt;/td&gt;
	&lt;td&gt;&lt;/td&gt;
	&lt;td&gt;&lt;/td&gt;
	&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;/div&gt;&lt;/div&gt; &lt;!-- side-calendarbody/hatena-modulebody --&gt;
&lt;/div&gt; &lt;!-- hatena-module --&gt;
</pre>
<table>
<tbody>
	<tr><th>クラス</th><th>意味</th></tr>
	<tr><td>calendar-month</td><td>月ごとのリンク表示欄のクラス。Ver1.44以降～</td></tr>
	<tr><td>w0～w6</td><td>曜日の日曜日～土曜日に対応します。</td></tr>
	<tr><td>calendar-*day</td><td>曜日名のみ出力されます。</td></tr>
	<tr><td>holiday</td><td>祝日に出力されます。w0も出ていますがholidayでオーバーライドできます。</td></tr>
	<tr><td>day-today</td><td>その日（当日）に出力されます。</td></tr>
	<tr><td>day-selected</td><td>その日付の記事を単一記事表示してるとき出力されます。</td></tr>
</tbody></table>
<p>カレンダーをあまり装飾しようと思わなければシンプルなのですが、同時クラス指定を駆使して多用な条件に対応しようと思い始めると非常に面倒くさくなります。<span><a title="ちなみに、かえで氏作のテーマ（初期除く）が凝って指定されています。" href="http://adiary.org/theme_doc/satsuki-sidebar2#fn1">*1</a></span></p>
<ul>
	<li>選択している日が当日の場合（"day-today day-selected"）</li>
	<li>祝日を選択している場合（"holiday day-today"）</li>
	<li>日曜や土曜日が当日の場合（"w6 day-today"）</li>
	<li>祝日を選択していて、しかも当日の場合（"holiday day-today day-selected"）</li>
</ul>

</div>
<div>
	<p><a href="http://adiary.org/theme_doc/satsuki-sidebar2#n1">*1</a> : ちなみに、かえで氏作のテーマ（初期除く）が凝って指定されています。</p>
</div>

]]></description>
	</item>
	<item>
		<title>サイドバー</title>
		<link>http://adiary.org/theme_doc/satsuki-sidebar#tm1193160579</link>
		<guid>http://adiary.org/theme_doc/satsuki-sidebar</guid>
		<category>未分類</category>
		<pubDate>Tue, 23 Oct 2007 11:37:32 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<p>サイドバーにはサイドバーモジュールと呼ばれる単位（divブロック）でデータが出力されます。モジュールは「最近の記事」や「最近のコメント」が１つのモジュールとなっています。</p>
<ul>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p1">全体構造</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p2">モジュール</a>
	<ul>
		<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p2.1">ul.hatena-section</a>
	</ul></li>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p3">infomationモジュール</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p4">最近の記事</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p5">最近のコメント</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p6">最近のトラックバック</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p7">カテゴリ一覧</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p8">過去の月別一覧</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p9">検索</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p10">管理メニュー</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar#p11">システム情報</a>
</ul>
<ul>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar2#contents" title="記事指定 ">コンテンツ一覧</a></li>
	<li><a href="http://adiary.org/theme_doc/satsuki-sidebar2#calendar" title="記事指定 ">カレンダー</a></li>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p1"><span>■</span></a>全体構造</h3>
<pre>
&lt;div class="sidebar"&gt;
　&lt;div class="side-a"&gt;
　　　&lt;div class="side-a-top"&gt;&lt;/div&gt;&lt;div class="side-a2"&gt;
　　　　　サイドバー前半
  　  &lt;/div&gt;&lt;div class="side-a-bottom"&gt;&lt;/div&gt;
  &lt;/div&gt;
　&lt;div class="side-b"&gt;
　　　&lt;div class="side-b-top"&gt;&lt;/div&gt;&lt;div class="side-b2"&gt;
　　　　　サイドバー後半
  　  &lt;/div&gt;&lt;div class="side-b-bottom"&gt;&lt;/div&gt;
　&lt;/div&gt;
&lt;/div&gt;
</pre>
<p>サイドバー装飾のため複数のブロックが置かれていますが、基本的には両サイドバーへの対応を見越した次ような構成です。</p>
<pre>
&lt;div class="sidebar"&gt;
  &lt;div class="side-a"&gt;
    サイドバー前半
  &lt;/div&gt;
  &lt;div class="side-b"&gt;
    サイドバー後半
  &lt;/div&gt;
&lt;/div&gt;
</pre>
<br>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p2"><span>■</span></a>モジュール</h3>
<p>モジュールはサイドバーのブロックの別名です。モジュールは次の構造をしています。</p>
<pre>
&lt;div class="hatena-module" id="モジュールID"&gt;
&lt;div class="hatena-moduletitle"&gt;タイトル&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
（内容）
&lt;/div&gt; &lt;!-- hatena-modulebody --&gt;
&lt;/div&gt;
</pre>
<h4><a href="http://adiary.org/theme_doc/satsuki-sidebar#p2.1"><span></span>ul.hatena-section</a></h4>
<p>モジュール内で使用するリスト要素は、（はてなダイアリーからの）慣例として ul.hatena-section の中に<span>li要素</span>として出力されます。</p>
<p>ulは出力されないこともあるので、ulの存在を前提とした位置調整（マージンやパディング）は推奨できません。必ず、div.hatena-module にて内部の出力域を正しく設定するための padding を設定してください。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p3"><span>■</span></a>infomationモジュール</h3>
<pre>
&lt;div class="hatena-module" id="side-infomation"&gt;
&lt;div class="hatena-moduletitle"&gt;Infomation&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
</pre>
<p>日記帳の説明やRSSなどへのリンクが出力されるクラスです。タイトル部は標準で非表示に設定されています。<span><a title="はてなテーマで表示が崩れるのでタイトルを出力しているだけです" href="http://adiary.org/theme_doc/satsuki-sidebar#fn1">*1</a></span></p>
<p>RSS以外のLIRS, hina-diのリンクを消したい場合は次のようにします。</p>
<pre>
a.side-lirs, a.side-hina &#123; display:none; }
</pre>
</div>
<div>
	<p><a href="http://adiary.org/theme_doc/satsuki-sidebar#n1">*1</a> : はてなテーマで表示が崩れるのでタイトルを出力しているだけです</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p4"><span>■</span></a>最近の記事</h3>
<pre>
&lt;div class="hatena-module" id="side-recent-diary"&gt;
&lt;div class="hatena-moduletitle"&gt;最近の記事&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
	&lt;li&gt;&lt;a href="～"&gt;adiary 1.43リリース情報&lt;/a&gt;&lt;/li&gt;
		：
&lt;/ul&gt;
</pre>
<p>記事が１件もなかったり、非表示に設定されているときは出力されません。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p5"><span>■</span></a>最近のコメント</h3>
<pre>
&lt;div class="hatena-module" id="side-recent-comment"&gt;
&lt;div class="hatena-moduletitle"&gt;最近のコメント&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
	&lt;li&gt;&lt;a href="～"&gt;記事タイトル&lt;/a&gt;
	    &lt;span class="author"&gt;&lt;a href="～"&gt;名前&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
</pre>
<p>コメントが１件もなかったり、非表示に設定されているときは出力されません。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p6"><span>■</span></a>最近のトラックバック</h3>
<pre>
&lt;div class="hatena-module" id="side-recent-trackback"&gt;
&lt;div class="hatena-moduletitle"&gt;最近のトラックバック&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
	&lt;li&gt;&lt;a href="～"&gt;トラックバックを受信した記事タイトル&lt;/a&gt;
	    &lt;span class="tb-from"&gt;from&lt;/span&gt;
	    &lt;a href="～"&gt;送信元ブログ名&lt;/a&gt; &lt;span class="author"&gt;送信元執筆者&lt;/span&gt;&lt;/li&gt;
</pre>
<p>トラックバックが１件もなかったり、非表示に設定されているときは出力されません。</p>
<p>送信元執筆者は存在しないときは出力されません。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p7"><span>■</span></a>カテゴリ一覧</h3>
<pre>
&lt;div class="hatena-module" id="side-category-list"&gt;
&lt;div class="hatena-moduletitle"&gt;カテゴリ一覧&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section main-category"&gt;
	&lt;li&gt;&lt;a href="http://adiary.blog.abk.nu/&amp;category?cat=adiary"&gt;adiary&lt;/a&gt;
	    &lt;a class="switch" href='～'&gt;▼&lt;/a&gt; (139)
	&lt;ul class="hatena-section sub-category"&gt;
		&lt;li&gt;&lt;a href="～"&gt;アナウンス&lt;/a&gt; (6)&lt;/li&gt;
</pre>
<p><strong>カテゴリが１種類しか存在しないとき</strong>、非表示に設定されているときは出力されません。</p>
<p>サブカテゴリがあり閉じられる機構が付いているため若干複雑になっています。上位カテゴリには ul.main-category、サブカテゴリには ul.sub-category がクラス出力されます。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p8"><span>■</span></a>過去の月別一覧</h3>
<pre>
&lt;div class="hatena-module" id="side-month-list"&gt;
&lt;div class="hatena-moduletitle"&gt;過去ログ&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
	&lt;li&gt;&lt;a href="～/200710"&gt;2007年10月&lt;/a&gt; &lt;span class="count"&gt;(&lt;span&gt;2&lt;/span&gt;)&lt;/span&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href="～/200709"&gt;2007年09月&lt;/a&gt; &lt;span class="count"&gt;(&lt;span&gt;2&lt;/span&gt;)&lt;/span&gt;&lt;/li&gt;
</pre>
<p>標準では出力されず、設定により出力できます。記事が１件も存在しない月は出力されません。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p9"><span>■</span></a>検索</h3>
<pre>
&lt;div class="hatena-module" id="side-search"&gt;
&lt;div class="hatena-moduletitle"&gt;検索&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;form method="GET" action="～" name="search"&gt;
&lt;input type="text" name="word" size="12" value=""&gt;
&lt;input type="submit" value="検索"&gt;&lt;br&gt;
&lt;input type="radio" name="all" value="0" &gt;タイトル
&lt;input type="radio" name="all" value="1" checked&gt;全文
&lt;/form&gt;
&lt;/div&gt; &lt;!-- hatena-modulebody --&gt;
&lt;/div&gt; &lt;!-- hatena-module --&gt;
</pre>
<p>これはulではなくフォームで出力されます。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p10"><span>■</span></a>管理メニュー</h3>
<pre>
&lt;div class="hatena-module" id="side-login"&gt;
&lt;div class="hatena-moduletitle"&gt;管理メニュー&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
&lt;ul class="hatena-section"&gt;
&lt;li&gt;&lt;a class="login" href="/?login" title="ログイン"&gt;&lt;span&gt;ログイン&lt;/span&gt;&lt;/a&gt;
</pre>
<p>デフォルトでは非表示になっていますが、通常右上に表示されるログインや管理、日記を書くなどのリンクをサイドバーに配置したいときに使用します。具体的には右上の表示をオフにし、サイドバーの表示をオンにします。</p>
<pre>
（cssサンプル）
div.adminmenu &#123; display: none; }
div#side-login &#123; display: block; }
</pre>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-sidebar#p11"><span>■</span></a>システム情報</h3>
<pre>
&lt;div class="hatena-module" id="side-system-info"&gt;
&lt;div class="hatena-moduletitle"&gt;System info&lt;/div&gt;
&lt;div class="hatena-modulebody"&gt;
Apache : worker&lt;br&gt;
Runtime : mod_perl2&lt;br&gt;
RDBMS : PostgreSQL&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;
</pre>
<p>システム情報は標準では常に出力されます。消去したい場合はCSSで次のようにします。</p>
<pre>
div#side-system-info &#123; display: none; }
</pre>

</div>

]]></description>
	</item>
	<item>
		<title>トラックバック欄</title>
		<link>http://adiary.org/theme_doc/satsuki-tb#tm1193137480</link>
		<guid>http://adiary.org/theme_doc/satsuki-tb</guid>
		<category>未分類</category>
		<pubDate>Tue, 23 Oct 2007 10:35:51 GMT</pubDate>
		<author>なべ</author>
		<description><![CDATA[<div>
<ul>
	<li><a href="http://adiary.org/theme_doc/satsuki-tb#p1">トラックバック欄ヘッダ</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-tb#p2">トラックバックURL</a>
	<li><a href="http://adiary.org/theme_doc/satsuki-tb#p3">トラックバック表示欄</a>
</ul>
<pre>
&lt;div class="refererlist tb"&gt;
	～トラックバック欄ヘッダ～
	&lt;ul class="tb"&gt;
		～トラックバックURL～
		～トラックバック表示欄～
	&lt;/ul&gt;
&lt;/tb&gt;
</pre>
<ul>
	<li>div.tb はトラックバックがあるか、トラックバックを受信可能であるときに出力されます。</li>
	<li>div.refererlist は、はてな互換のためのクラス出力です。使用しないでください。</li>
</ul>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-tb#p1"><span>■</span></a>トラックバック欄ヘッダ</h3>
<pre>
&lt;div class="caption"&gt;
	&lt;a class="switch" href="～"&gt;&lt;span class="open"&gt;▼&lt;/span&gt;&lt;/a&gt;
	&lt;a href="～"&gt;&lt;span class="caption-title"&gt;トラックバック&lt;/span&gt;
	&lt;span class="num"&gt;（10件）&lt;/span&gt;&lt;/a&gt;
&lt;/div&gt;
</pre>
<p>コメント欄ヘッダとほとんど同じです。<a href="http://adiary.org/theme_doc/satsuki-mainh2#p1" title="記事指定 ">閉じるスイッチはこちらを参照</a>。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-tb#p2"><span>■</span></a>トラックバックURL</h3>
<pre>
&lt;li class="tb-url"&gt;&lt;span class="tb-url"&gt;TB-URL&lt;/span&gt;&amp;nbsp;
 http://xxxxx.yyy.zz/085/tb/E1d&lt;/span&gt;&lt;/li&gt;
</pre>
<p>実際にはSPAM対策のため出力の一部にJavaScriptを使用していますが、HTMLとしてみれば上のとおりです。</p>
</div>

<div>
<h3><a href="http://adiary.org/theme_doc/satsuki-tb#p3"><span>■</span></a>トラックバック表示欄</h3>
<p>トラックバック１つは次の形式をしています。</p>
<pre>
&lt;li&gt;
	&lt;a class="switch" href="～"&gt;&lt;span class="close"&gt;▼&lt;/span&gt;&lt;/a&gt; 
	&lt;span class="title"&gt;&lt;a href="～" title=""&gt;adiary 1.40 の新機能について&lt;/a&gt;&lt;/span&gt; 
	&lt;span class="blog_name"&gt;adiary開発日誌&lt;/span&gt;
	&lt;span class="author"&gt;なまえ&lt;/span&gt;
	&lt;div class="excerpt"&gt;～トラックバックの概要～&lt;/div&gt;
&lt;/li&gt;
</pre>
<ul>
	<li>最初のスイッチにより、トラックバックの概要は表示をオン／オフされます。（<span>display: block/none</span>）</li>
	<li><a href="http://lowlife.jp/yasusii/stories/8.html">トラックバックの仕様</a>により、ブログ名、トラックバックの概要は存在しないことがあります。その場合span/div要素ごと出力されません。<span><a title="タイトルが空の場合は&quot;(no title)&quot;として出力されます。" href="http://adiary.org/theme_doc/satsuki-tb#fn1">*1</a></span></li>
	<li>トラックバック元記事を書いた人（span.author）は<a href="http://adiary.blog.abk.nu/04">adiaryの拡張仕様</a>であり、現在のところadiary以外から送信されたトラックバックでは存在しません。（span.author ごと出力されません）</li>
</ul>

</div>
<div>
	<p><a href="http://adiary.org/theme_doc/satsuki-tb#n1">*1</a> : タイトルが空の場合は"(no title)"として出力されます。</p>
</div>

]]></description>
	</item>
</channel>
</rss>
