Home > HTML&CSS > IE7での上下中央寄せ

IE7での上下中央寄せ

Posted on 2010年5月21日 | コメントはまだありません

会社で作成していたページのレイアウトが崩れたので修正した。
しかし、IE7でだけ若干上下がずれてしまった。

原因は
line-height
だった。

単一行を上下中央寄せをしていたのだが、複数行になったのでレイアウトが崩れてしまった。

以前、ヨモツネットさんを見ていたので簡単に修正できると思ったが、そうはいかなかった。
というのも今回修正するのは

<div class='foo'>
<div class='bar'>aaa</div>
</div>

のようなものだったからだ、と思う。

はっきり言って、何故うまくいかなかったかわからない。

それで、元々jQuery使っているページなので、JavaScriptで高さを取得して中央寄せになるように適度にマージンを入れてあげる事にした。
私のようにJavaScriptが素人でもちゃんと動いてくれた。

$('bar').each( function () {
var h = $(this).height();
var h_offset = (50 - h) / 2; // 50は外枠の高さで決めうちしている。
$(this).css("margin-top", h_offset );
}

のような感じだった。

しかし、なんでうまく行かなかったんだろう、と思うと同時に、IE7が嫌いになった。

CSSでうまくやろうとして、5時間ぐらいなやみ、JavaScriptは1時間で出来た。
最初からJavaScriptでやれば良かった。


関連記事はありません

» タグ: ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">