このページの本文へ

  • twitterでつぶやく
  • はてなブックマークに登録
  • del.icio.usに登録
  • livedoorクリップに登録
  • Buzzurlに登録
  • StumbleUponに登録
  • Google Bookmarksに登録
  • Facebookでシェア
  • Yahoo!ブックマークに登録
  • お気に入りに登録
  • 本文印刷

クラス名も簡単に変更できる「jQuery SameHeight Plugin」

ブロックを一発で揃えるシンプルなJavaScript

2008年11月18日 05時00分更新

文● 小橋川誠己/企画報道編集部


 2カラムや3カラムのレイアウトのWebページを作るときに、左右のブロック要素の高さをビシッと揃えたい。特に背景を敷いている場合など、コンテンツの内容に応じて高さをしっかり合わせたいケースは少なくない。

 CSSでは少々面倒なこの問題を解決してくれる便利なJavaScriptライブラリはすでにいくつかあるが(以前に紹介した「MJL」の機能の1つにもある)、今回は単機能で使いやすい、シンプルなスクリプトを紹介しよう。Web制作を手がけているハムさん作の「jQuery SameHeight Plugin」(jquery.sameHeight-1.1.js)だ。

sameHeight
「jQuery SameHeight Plugin」を紹介する作者のブログ

 その名のとおり、JavaScript/Ajaxライブラリ「jQuery」を使って書かれているこのスクリプトは、親要素に対して特定のクラス名を設定するだけでもっとも高い子要素に合わせて高さを自動調整してくれるもの。スクリプトも使い方もごくシンプルなものだ。

 jQueryとjquery.sameHeight.jsを読み込み、高さを揃えたいブロックの親要素に対して、「class="sameHeight"」を設定する。ちなみに子要素にバラバラのpaddingが設定されている場合も自動的に一方に揃えてくれる。

sameHeight
sameHeightの設定前(左)と設定後(右)。スクリプトファイルを読み込み、クラスを設定するだけで左右の高さを揃えてくれる

■<head>~</head>

<script src="jquery-1.2.6.min.js" type="text/javascript"></script>
<script src="jquery.sameHeight-1.1.js" type="text/javascript"></script>

■<body>~</body>

<div id="container" class="sameHeight">
<div id="menu">
<ul>
<li>メニュー1</li>
<li>メニュー2</li>
<li>メニュー3</li>
</ul>
</div>
<div id="main">
<p>テキスト</p>
</div>
</div>

 SameHeightが使いやすい点の1つは、jQueryのプラグインとして動作すること。すでにjQueryを使っている場合に楽に導入できる。また、同種のスクリプトではクラス名が決まっている場合も多いが、SameHeightでは任意のクラス名に変更するのも簡単だ。自分で分かりやすい名前をつけられるのがありがたい。クラス名を変更する場合は以下のようにスクリプトで指定する。

<script type="text/javascript">
$(function(){
$('.settingHeight').sameHeight();
});
</script>

※上記の例ではクラス名を「settingHeight」に指定している。


 ライセンスはMITライセンスで、ダウンロードは作者のブログから。jQueryは別途、ダウンロードする必要がある。

カテゴリートップへ

ASCII.jp会員サービス 週刊Web Professional登録

Webディレクター江口明日香が行く

みんなが買ってる最新アイテムはコレだ!

VOCALOID3 スターターIA ARIA ON THE PLANETES

VOCALOID3 スターターIA ARIA ON THE PLANETES

ヤマハ

17,745円〜

24人が購入

標準HTML5タグリファレンス (WEB PROFESSIONAL)

標準HTML5タグリファレンス (WEB PROFESSIONAL)

アスキー・メディアワークス

2,205円〜

70人が購入

Google上位表示 64の法則 (WEB PROFESSIONAL)

Google上位表示 64の法則 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

69人が購入

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

Speck MacBook Air 13型 See Thru - Clear SPK-MBA13-SEE-CLR

スペックコンピュータ

4,262円〜

21人が購入

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

jQuery Mobile スマートフォンサイト デザイン入門 (WEB PROFESSIONAL)

アスキー・メディアワークス

2,499円〜

38人が購入

メモリーカード 32GB (PCH-Z321J)

メモリーカード 32GB (PCH-Z321J)

ソニー・コンピュータエンタテインメント

7,772円〜

9人が購入

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

iPhone 4S/4 防指紋性・高光沢機能性フィルム PRO GUARD AF for iPhone 4S/4 / PGAF-IPH4

マイクロソリューション Micro Solution Inc.

60人が購入

Amazon.co.jp