• ベストアンサー

スタイルシートについて

スタイルシートについてお尋ねしたいのですが・・・。 下記のようにしてスタイルシートを使用したいのです。 ↓ <table style="position:absolute;top:140;left:170"> スタイルシートはIEのバージョンによって、使えたり使えなかったりするのでしょうか? 私が使用しているIEのバージョンがIE5.5で、同じプログラムをIE6.0で 動作させるとstyleが効いていたり効いていなかったりするのです。 何かわかる方がいらっしゃれば、ご指導ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

おそらくIE6から追加された機能である「!DOCTYPE スイッチ」 が影響していると思います。 結論から言います。 top:140;left:170の部分の数値を top:140px;left:170pxというように 単位を書いてください。そうすれば、IE5.5・IE6どちらでも そのスタイルシートは有効になるはずです。 では、どうしてそのような現象が起きるのか?スタイルシートを 使う場合知っておいても損はないと思います。 !DOCTYPE スイッチとは、!DOCTYPE宣言を設定する事によって CSS Level 1 に準拠させたり、させなかったりする機能です。 わかりやすくいうと、!DOCTYPE宣言の仕方によって スタイルシートの動作が変わってきます。 1:標準準拠モード <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2:非標準準拠モード <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 実際にソースを作り比較してみると同じような現象が起きました。 つまり、1の場合だと例に示されたようなスタイルシートは無効になり 2だと有効になります。 標準準拠モードではスタイルシートの記述に厳格なルール が設けられております。 例: 16進数で色を指定する場合 #000000の#は省略してはいけません 今回の場合、IE6でスタイルシートが有効にならないのは、 !DOCTYPE宣言を1のような標準準拠モードで、単位を いれなかったためにブラウザがそのスタイルシートを無視 したためと思います。

参考URL:
http://www.microsoft.com/japan/developer/articles/dnie60/html/cssenhancements.asp#cssenhancements_topic2
snowsaab
質問者

お礼

お礼が遅くなってごめんなさいm(__)m 教えていただいたとおりにやってみましたところ、 スタイルシートが有効になったようです。 助かりました。ありがとうございました。

その他の回答 (1)

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

スタイルシートだけでなくJavaScriptやHTMLなどでもブラウザによってかなり挙動が違ったりします。 ブラウザのバージョンが同じでもOSが違えば挙動が異なってくる場合があるので注意が必要です。 そのため、サポートするOSとブラウザを決定したらそのすべての組み合わせで動作確認を行う必要があります。 基本的な動作はHTML辞典のようなもので調べるといいかも知れません。 で、この場合ですが、ほかのタグでテーブルを囲んでそこでスタイルを定義してみたりして試して見てはいかがでしょうか。

snowsaab
質問者

お礼

お礼が遅くなってごめんなさいm(__)m OSやIEのバージョンによって違うんですね。 知りませんでした。いろんなOSでためして確認してみます。 お世話になりました。

関連するQ&A