Entry Thumbnails on MT Site 2

Movable TypeはVer4になってから、サムネイルの書き出しが自動で行われるようになりました。それに伴い、サムネイル付きの「最近のブログ記事」を掲載するMTサイトも頻繁に目撃するように。今までこの辺の領域は踏み込んだことがなかったのを、リニューアルをきっかけに調査・設置してみました。前回「最近の記事」にサムネイル画像を追加しましたが、標準のCSSではどうしても形が悪く表示されてしまいます。今回はもう一歩踏み込み、CSSを修正して表示を整形します。

CSSを修正して表示を整形

画像サムネイルを追加して、<ul>構造を<dl>構造に変更したのが前回のエントリーでした。

Movable TypeデフォルトのCSSだと、以下のように表示が崩れてしまいます。

Entry Thumbnails on MT Site 2

それを以下のように修正します。

Entry Thumbnails on MT Site 2

始めにCSSファイルを開きますが、修正するパターンが2種類存在します。

Movable Typeは「スタイル」という独自の機能を持っており、「管理画面 > デザイン > スタイル」の画面から簡単にスタイルを切り替えることができるようになっています。

各スタイルは、個別にCSSを持っており、そのCSSを修正することにより、今回の「最近の記事」のデザインを変更する。これが一つ目のパターンです。

もう一つは「管理画面 > テンプレート > スタイルシート」から、直接CSSを変更してしまおうという荒技です。ここにセレクタを追記した場合、スタイルを切り替えた後も影響を与えてしまうことになります。どちらも一長一短でありますが、後者の方が簡単に修正できることから、「とりあえずやってみよう」という人には最適です。

セレクタを追記する

手短に説明すると、以下のソースを追記することで完結します。

#content .widget-recent-entries .widget-content dl dt {<br />
background-color: #f8f8f8;<br />
border-color: #ddd;<br />
border-top-style: solid;<br />
border-bottom-style: solid;<br />
border-width: 1px;<br />
border-left-style: solid;<br />
float: left;<br />
clear: left;<br />
margin-bottom: 3px;<br />
height: 30px;<br />
_height: 20px;<br />
padding-top: 5px;<br />
padding-bottom: 5px;<br />
padding-left: 5px;<br />
}<br />
#content .widget-recent-entries .widget-content dl dt img {<br />
display: block;<br />
}<br />
#content .widget-recent-entries .widget-content dl dd {<br />
background-color: #f8f8f8;<br />
border-color: #ddd;<br />
border-top-style: solid;<br />
border-bottom-style: solid;<br />
border-width: 1px;<br />
border-right-style: solid;<br />
float: left;<br />
padding: 5px 5px 5px 10px;<br />
margin-bottom: 3px;<br />
height: 30px;<br />
line-height: 30px;<br />
width: 108px;<br />
}

「#content .widget-recent-entries .widget-content dl dt」の「_height」と、「#content .widget-recent-entries .widget-content dl dt img」の「display」は、IE6対策です。IE6をターゲットにしてない場合は省いても問題ありません。なお、画像サイズを変更した場合は、各「height」「width」を調整してください。

セレクタのプロパティが少しスマートではありませんが、文章構造を優先した結果こうなりました。CSSを優先に記載した場合は、もっと簡潔、わかりやすく記載することができるでしょう。

related story