DOCTYPE宣言とCSS。
2007-08-06


addressタグにfloat:right;を付けたら、IE7.0だけで何故か横スクロールバーが出現する現象に行き当たったので、それの検証やってたら面白いもの見つけちゃった。

IE7.0において、CSSのbodyに付けたwidth:770px; margin:0 auto;などはDOCTYPE宣言されてないと動かない。

……っぽいね。
具体的には、

<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
 <title>aaa</title>
</head>
<body style="width: 770px; margin: 0 auto;">

<div>
<hr />
<address style="float:right;">アドレス</address>
</div>

</body>
</html>

──はIE7.0でも動作するんだけど。
ここから<!DOCTYPE……>の行を消しちゃうと、widthが無視されちゃうらしい(あるいはmarginのautoが効かないらしい)。不思議、不思議。

最初なんでかわかんなくて、原因見つけるのに10分ぐらい探し回ったよ……めんどーな;

[HTML&CSS]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット