10

09月2009年

ページ送りナビゲーションには display:inline-block が超便利

ishida 01:05 AM

  • はてなブックマークに登録
  • livedoorクリップに登録
  • Yahoo!ブックマークに登録
  • deliciousに追加

イメージ

こんばんは、ishidaです。

CSS2.1 で定義されている displayプロパティの値、inline-blockの使いどころを探してみたところ、ページ送りにかなり使えそうです。

まずは以下のサンプルをご覧下さい。Yahoo 検索結果のページ送りデザインをまねています。

ページ送りのサンプル

XHTML のサンプルは以下です。とてもシンプルです。

<ul class="pager">
<li><strong>1</strong></li>
<li><a href="#">2</a></li>
<li><a href="#">3</a></li>
<li><a href="#">4</a></li>
<li><a href="#">5</a></li>
<li><a href="#">6</a></li>
<li><a href="#">7</a></li>
<li><a href="#">8</a></li>
<li><a href="#">9</a></li>
<li><a href="#">10</a></li>
<li><a href="#">次へ&gt;</a></li>
</ul>

CSS のコードは以下です。

ul.pager {
	margin: 0;
	padding: 0;
	font: 100% Arial, Helvetica, sans-serif;
	text-align: center;
}
ul.pager li {
	list-style: none;
	display: inline;
	margin: 0;
	padding: 0;
}
ul.pager li strong {
	display: -moz-inline-box; /* firefox2 対応 */
	display: inline-block;
	padding: 0.25em 0.4em;
	background-color: #EEEEEE;
	border: 1px #CCCCCC solid;
}
ul.pager li a {
	display: -moz-inline-box; /* firefox2 対応 */
	display: inline-block;
	padding: 0.25em 0.4em;
	border: 1px #CCCCCC solid;
}

ul.pager li a:link,
ul.pager li a:visited {
	border-color: #CCCCCC;
	color: #0033FF;
}
ul.pager li a:hover,
ul.pager li a:active {
	border-color: #003399;
	background-color: #003399;
	color: #FFFFFF;
}

最近のモダンブラウザは display: inline-block に対応していますが、FireFox2 以前は未対応です。
そのため inline-block の代わりに -moz-inline-box を使います。

またIE6~7についても inline-block ダメです。ですが、 inline-block に似たような処理(display が inline。hasLayout が true。 )がされますので、特にハックすることもなく正常に表示されます。

右寄せ、左寄せ、中央寄せも 親要素(ここでは ul.pager ) の text-align プロパティを変更するだけで、簡単に実現できます。

inline-block は他にもうまく使えば、応用できそうなのでひらめいたらまたこのブログにてご紹介します。

追記
以下のブラウザにて表示確認はしています。

  • IE 5.5 ~ 8
  • Firefox 2.0 ~3.5
  • Goole Chrome 2
  • Safari 3 ~ 4
  • Oprea 9.5

バシャログスタッフによるWebサイト制作サービス

トラックバック

このエントリーのトラックバックURL
http://c-brains.jp/cgi-bin/mt/###/1996
###はmt-tb.cgiに変更してください。

コメントを投稿

ページの先頭へ

POPULAR TAGS
  • バシャログスタッフによるWebサイト制作サービス

ARCHIVE

RECENT COMMENTS

Neennates on [使えるCSSテクニックVol.2] CSS を使った見栄えの良いページャー
You could easily be making mon
toyama on 【Fireworks】あなたのワークスペース、どんなレイアウト?
> maki さん コメントありがとうございます。 レイヤー
maki on 【Fireworks】あなたのワークスペース、どんなレイアウト?
初期設定のまま、パネル1列で作業してました。。 今までレイヤ
tomo on [使える CSS テクニック] CSSで実現するプルダウンメニュー
sakai様 早速ご返答ありがとうございます。 子供がho
sakai on [使える CSS テクニック] CSSで実現するプルダウンメニュー
>RodMond さん コメントありがとうございます。 自