CSSトラブルシューティング / ボックス関連
ボックス内でテキスト・画像の下揃えはできない
ボックスとは「セルが一つしかないテーブルのようなもの」と別項で書いたが、もちろん目的は全く違うものものだし、性格も特性も異なる。例えば、テーブルの場合、セルの中にテキストを下揃えで流すといったデザインが可能だが、ボックスではそれができない。
[該当するブラウザ]
すべて
症状
こうしたいのだが…
こうなってしまう
こうなってしまう
これを実現したいのは、例えば、背景画像の下辺に合わせてテキストを乗せたい時などだ。そこで、ボックスに図のような三角形の画像を背景として入れ、vertical-align: bottomと指定した。しかし、ボックス内のテキストは上揃えになったままである(→サンプルページ1)。同様に、middleを指定してもテキストを中央に配置することはできない。
【スタイルシート】
【HTML】
#box {
width: 140px;
height: 70px;
background-image: url(bg2.gif);
vertical-align: bottom;
text-align: center;
}
【HTML】
<div id="box">← 140ピクセル →</div>
原因
仕様というしかない。そもそもvertical-alignは、画像やテキストなどのインライン要素か、テーブルのセルに対して指定するのが本来の使い方のようだ。
対策
テーブルを使う以外に方法はないだろう。(→サンプルページ2)
赤字は変更部分(スタイルシートは変更なし)
【HTML】
【HTML】
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td id="box">← 140ピクセル →</td>
</tr>
</table>
(last modified: 09/12/2008)
TrackBack
このエントリーのトラックバックURL:
http://norisfactory.com/mt/mt-tb.cgi/2
search
contents
CSS実験室
- HTML5対応版clearfix(予告)
- clearfixの決定版を作る -Mac IE編-
- clearfixの決定版を作る -IE編-
- inline-blockの奇妙な世界
- clearfixの決定版を作る -モダンブラウザ編-
CSSトラブルシューティング
-- background関連 --
-- float関連 --
- floatと一緒にwidthも指定しないと回り込まない
- ひとつの要素にfloatとmarginを同時に設定すると位置がずれる
- floatを繰り返すとレイアウトがくずれる
- 要素を左右に隙間なく配置することができない
-- ソースの記述 --
- 「font-family: 細明朝体」でスタイル指定が無視される
- font-sizeを%で指定すると、ある値でサイズの逆転が起きる
- マージンをまとめて設定するとテーブルはセンタリングされない
- コメントで「表」の字を使うと直後のスタイル指定が無効になる
-- ボックス関連 --
-- 定義リスト関連 --
-- 標準モードと互換モード --
feed
このサイトは、Creative Commons License のもとにライセンスされています。
Powered by
Movable Type 3.37
kikky wrote:
文字の上下中央揃えなら、line-height:70px;とする裏技もあるが、文字を大きくしたときの被害も大きくなります。
ページタイトルなどには使えます。
(posted on 08/13/2007)