【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?

XHTML+CSSを勉強中なのですが、下記のソースを見てください。
<?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-transitio …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
-----------省略-------------
</head>
<body>
<div id="container">
-----------省略-------------
</div>
</body>
</html>
xml宣言をするまでは画面中央に表示されていたのですが、宣言の行を追加したら左側に寄ってしまいました。
CSS部分は以下のようになっています。
body {
font-size: 100%;
font-family: sans-serif;
color: #333333;
margin: 0;
padding: 0;
background-color: #F0F0F0;
}
#container {
width: 800px;
position: relative;
margin: 0 auto;
background-color: #FFFFFF;
}
marginの設定の仕方が悪いのかなとか考えたんですが、わかりませんでした。
用は<table align="center">のようなことがしたいんです。
どなたかご教授よろしくお願いします。

A 回答 (3件)

しばらく解らなかったけど、CSSソース見てたら解決しました。



ここでHTMLのソースを見直してみるとlink要素によるCSS指定がないので
<script src="js/topstyle.js" type="text/javascript"></script>
が怪しいと判断し、このソースを調べることにしました。

見ると共通するcss/all.cssとcss/top.cssと
ブラウザやOSごとにCSSを振り分けていることが解ります

最初私はIE6専用CSSを調べに行きましたが特に怪しい部分は見つからなかったのでcss/all.cssを見始めました

解決。

body {
text-align:center; /*これですね*/
}
IEの「過去互換モード」の別のバグを利用してます(笑)
#標準準拠モードでは修正されているようです。

http://www.anslasax.net/css-make/t-a/index.html
http://sourcemania.jpn.org/doc/block_center/#wrong

本来text-alignプロパティは【ブロックボックスの位置をそのままに】中のインラインテキストの位置を変えるものですが、IEは【ブロックボックスの位置ごと変更します】

ということで、調べ方と共に、うまく行ってる理由、おw解りいただけましたか?
    • good
    • 0
この回答へのお礼

返答が遅れてしまい大変申し訳ありません。
色々と勉強が必要だと改めて実感しました。
text-align:center;を使うとは思いませんでした。
この件に関して解決しました。本当にありがとうございました。

お礼日時:2006/04/05 10:02

#1,#2です。


余計なお節介かもしれないけど・・・言っておいたほうがいいかなと思ったので。

IEのCSS解釈にはFirefoxやOpera等他のブラウザに比べかなりのバグがあります

有名なCSS実装度チェックにAcid2というものがあります。「えむもじら」さんのところに各ブラウザでテストを受けた時の画像が載っています
http://level.s69.xrea.com/mozilla/index.cgi?id=2 …

...というわけで、デザインで困ったことがあったり、
思ったとおりにならないときはFirefoxやOperaで確認しなおしてみるといいでしょう。

#私は普段からFirefoxを使っています。速度や消費メモリから言ったらOperaの方が使いやすいとは思いますが。
    • good
    • 0

IEのバグです。



「DOCTYPEスイッチ」というものをご存知でしょうか?

娘娘飯店しるきぃうぇぶ-DOCTYPE 宣言による「解釈モード」の切り替え
http://www.remus.dti.ne.jp/~a-satomi/bunsyorou/D …

で、実は
娘娘飯店しるきぃうぇぶ-ねこめしにっき2001年9月20日を見てもらうと解りますが
WinIE6 の DOCTYPE スイッチ機能不全発見
http://www.remus.dti.ne.jp/~a-satomi/nikki/2001/ …

抜粋します

【HTML ソース冒頭に XML 宣言があると、DOCTYPE スイッチせず有無いわさず Quirks 解釈(過去慣習互換≒ WinIE5.x 的解釈互換)になってしまう】

んです、IEは。

で、さらに、
文書型宣言とブラウザでの表示
http://www.mars.dti.ne.jp/~fuming/advanced/dtd.htm

>margin:autoが有効かどうか
後方互換モード:【無効】

となっています。

原因はもう解りましたね?
一般的にはXML宣言を抜く形で回避されているようです
(省略できるのはUTF-8またはUTF-16またはHTTPヘッダ等別なプロトコルで明示された場合とされているため、大抵は文書をUTF-8に変換しています)

この回答への補足

なるほど、そんなバグがあったとは思いもよりませんでした。
ありがとうございます。
しかし、私がこの質問をした理由は下記サイトで可能になっていたからなんです・・・。
http://www.r2works.com/

補足日時:2006/04/04 19:08
    • good
    • 0

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