電子書籍の厳選無料作品が豊富!

ie6でmargin:0 autoで中央寄せできないバグがありましたが
ie7では中央寄せできるようになったのでしょうか?

よろしくお願いします

A 回答 (2件)

 バグと言うより、IE6当時まだCSS2が未確定でした。

IEは、元々MicrosoftにとってOSを販売すための手段でしかなく、ウェブの仕様が変わってもIEのユーザーのために修正していくという手法が取られていません。
 IE7だと、CSS2に相当対応はされていますが、完全ではありません。また、過去にIE用に作られたページを当時の仕様どおりに見せるための互換モードが標準でした。IE8以降はウェブ標準がデフォルトになりましたが、その場合も互換モードが使えます。
 その切り替えは、DOCTYPE宣言で行われますので、DOCTYPEを正しく書いて、かつHTMLをstrictで記述すれば、IE6以降なら配置に関しては期待通り--ウェブ標準--に表示されます。
 ⇒DOCTYPEスイッチ-HTMLの基本( http://www.htmq.com/htmlkihon/302.shtml )
★IE6でも、標準モードだと中央に配置されます。
  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>ie7では中央寄せできるようになったのでしょうか?
 IE6を含め作者次第です。
1) HTML文書を作る場合には、この仕様における、他のDTDセットではなく strict DTD に適合する文書を作るよう推奨する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
 Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html )
 でチェック(右上のDATAから)
 DOCTYPEを標準モードで動作するように正しく書く
2) スタイルシートをきちんと書く
 W3C CSS 検証サービス( http://jigsaw.w3.org/css-validator/#validate_by_ … )
  この二つで、配置に関しては差はでなくなるでしょう。
[サンプル]
★Another HTML-lint 5( http://www.htmllint.net/html-lint/htmllint.html )
 でチェック済みのHTML4.01strict + CSS2.1です。
 IE6は、(static以外の)親コンテナブロックのサイズを参照できませんから、nav(ナビゲーションの高さが指定されない)
 IE6はmin-heightの指定が利かない

★タブは_に置換してあるので戻す。
<!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">
<!--
html,body{margin:0;padding:0;background-color:gray;}
div.header,div.section,div.footer{
width:80%;min-width:630px;max-width:900px;
margin:0 auto;
padding:5px 10px;
}
div.section{
min-height:200px;
position:relative;
}
div.section div.nav{
position:absolute;
right:0;top:0;
width:20%;height:100%;
}
div.section h2,div.section p{
line-height:1.8em;
margin:0 21% 0 0;
}
/* 分かりやすいよう色づけ */
div.header{background-color:aqua;}
div.section{background-color:white;}
div.section h2,div.section p{background-color:rgb(255,255,180);}
div.section div.nav{background-color:silver;}
div.footer{background-color:lime;}

-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</div>
_<div class="section">
__<h2>見出し</h2>
__<p>
___ie6でmargin:0 autoで中央寄せできないバグがありましたが、ie7では中央寄せできるようになったのでしょうか?
__</p>
__<p>
___よろしくお願いします
__</p>
__<p>
___ie6でmargin:0 autoで中央寄せできないバグがありましたが、ie7では中央寄せできるようになったのでしょうか?
__</p>
__<p>
___よろしくお願いします
__</p>
__<div class="nav">
___<h3>目次</h3>
___<ol>
____<li>第一章</li>
____<li>第二章</li>
____<li>第三章</li>
____<li>第四章</li>
___</ol>
__</div>
_</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
この回答へのお礼

回答ありがとうございます
<!DOCTYPE html>
HTML5を使うときはie6、ie7でmargin: auto;で中央寄せできますか?

お礼日時:2013/10/23 11:01

No.1です。


>HTML5を使うときはie6、ie7でmargin: auto;で中央寄せできますか?
 えっ!!。HTML5を使う時点で、IE6,IE7,(IE8)は切り捨ててますから・・・考慮しません。
 スマホやIE9以降、および他のモダンブラウザ、firefox,Opera,Chromeをターゲットに絞ります。
 HTML5で書いてIE6,7,8はターゲットブラウザでないので、質問自体が矛盾しています。(javascriptを使って対処は出来ますが、javascriptを無効にしていたら崩れます。)

{HTML5のサンプル]・・かならず、試すこと
★タブは_に置換してあるので戻す。

<!doctype html>
<html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="IRUKA">
<style media="screen">
<!--
html,body{margin:0;padding:0;background-color:gray;}
p{text-indent:1em;}
header,section,footer{
width:80%;min-width:630px;max-width:900px;
margin:0 auto;
padding:5px 10px;
}
h1,h2,h3,p{
margin:0;line-height:1.8em;
}
section{
min-height:200px;
position:relative;
}
section section{
width:auto;min-width:0;
margin:0 auto;
padding:0;
min-height:0;
}
section nav{
position:absolute;
right:0;top:0;
width:20%;height:100%;
}
section section,section h2{
margin:0 22% 0 0;
}
/* 分かりやすいよう色づけ */
header{background-color:aqua;}
section{background-color:white;}
section h2,section p,section h3{background-color:rgb(255,255,180);}
section nav{background-color:silver;}
footer{background-color:lime;}
-->
</style>
</head>
<body>
_<header>
__<h1>タイトル</h1>
__<p>このページでは・・・・</p>
_</header>
_<section>
__<h2>見出し</h2>
__<section>
___<h3>質問</h3>
___<p>
____ie6でmargin:0 autoで中央寄せできないバグがありましたが、ie7では中央寄せできるようになったのでしょうか?
___</p>
___<p>
___よろしくお願いします
__</section>
__<section>
___<h3>回答</h3>
___<p>
____IE8以前は、HTML5の新しい要素を理解できませんから、それらをターゲットにするときはHTML5は使用しません。
___</p>
___<p>
____また、DIVは原則として使えなくなりますし。
___</p>
__</section>
__<nav>
___<h3>目次</h3>
___<ol>
____<li>第一章</li>
____<li>第二章</li>
____<li>第三章</li>
____<li>第四章</li>
___</ol>
__</nav>
_</section>
_<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>
_</footer>
</body>
</html>
    • good
    • 0
この回答へのお礼

回答ありがとうございました
勉強になりました

お礼日時:2013/10/23 23:55

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