プロが教える店舗&オフィスのセキュリティ対策術

http://oshiete.coneco.net/qa8437703.html
こちらで質問してご回答いただいてタグを修正したのですが、
なぜかIE以外のブラウザなら、中のテーブルが中央に表示されるのに
IEは左側に赤い中のテーブルが寄ってしまいます。

対応方法を教えてください。

コードは

<html>
<head>
<title>test</title>

<style type="text/css">

#zentai{
width: 850px;
margin: 0 auto;
text-align: left;
background-color:red;
}

</style>

</head>
<body>
<div id="zentai">

test

</div>

</body>
</html>

です。

「IEだと左側に赤い中のテーブルが寄ってし」の質問画像

A 回答 (2件)

すでに回答しましたが・・それでIE7以降は改善されるはずですけど・・


 ⇒Another HTML Lint - Gateway( http://www.htmllint.net/html-lint/htmllint.html )
・DOCTYPE宣言がない!! これが最初に忠告されるはず・・

★ちゃんとDOCTYPE宣言をしましょう。
 そのときに、必ずstrictにして置きます。
『HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )』
 IEは、かって他のブラウザを蹴落とすために独自仕様でした(そのためIE用に作られたページ以外は崩れる)
 古いIE用を表示させる互換モー時を持っているた、IEに対して標準モードで動作させるように宣言する必要がある。
 対症療法な対処ではなく、きちんと対処しないとブラウザ間の誤差に随所で悩まされる

★body直下にtableはありえません。
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 tableは二次元データをあらわすもので、配置やデザインのためではありません。
※これは、最低限守らないと!!!

[サンプル]
★HTML4.01strict + CSS2.1
★タブは_に置換してあるので戻す。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
table[summary="サンプル"]{
width: 90%;
margin: 0 auto;
background-color:red;
border:solid 10px blue;
border-radius:15px;
}

-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<table summary="サンプル">
___<tr>
____<td>セル</td>
___</tr>
__</table>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt id="FIRST-PUBLISHED">First Published</dt>
___<dd>2012-08-10</dd>
___<dt id="LAST-MODIFIED">Last Modified</dt>
___<dd>2012-08-10 12:00:00 (JST)</dd>
__</dl>
__<address>&copy; ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2014/02/15 18:37

IEのバージョンにもよりますが、margin:autoが使えないことがあります。



以下の方法であればIEでも中央に寄せれます。

<html>
<head>
<title>test</title>

<style type="text/css">
body{
width:100%;
text-align:center;
}
#zentai{
width: 850px;
margin: 0 auto;
text-align: left;
background-color:red;
}

</style>

</head>
<body>
<div id="zentai">

test

</div>

</body>
</html>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!