IE6でCSSの一部の記述を読み込まないので、困っています。
上位のIEやモダンブラウザーでは出ない症状です。
解決策の判る方に、お助けをお願いします。
外部CSSに書いた内容で、反映するものと反映しないものがあります。
div#main { } とかはOKで、p.small { } 、td.com { } などの classに書いたものが、効きません。
他にも、h2 { } 等も効きません。
IE6は、CSSのコメントを閉じる前に全角文字があるとエラーになるとか、
HTMLとCSSの文字コードが違うとエラーとか、ありました。
該当はしていません。
classを複数並列記載するとエラーなど、Googleで探したら、
ありましたが、そのようなな複雑なことはやっていません。
他に、IE6がCSSの一部の記述を読み込まないエラーの原因となるものは、あるのでしょうか。
一部の内容です。
CSS==========
@charset "UTF-8";
以下、略
HTML==========
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="stylesheet" href="base.css" type="text/css" />
以下、略
思い当たる原因として、
<body>の上に、wrapper を以下のように定義して、センター配置しています。
div#wrapper { width:800px;
height:100%;
position:absolute;
top:15px;left: 50%;
margin-left: -400px;
background-color: transparent;
margin-bottom:0px;
}
この子要素や孫要素に、コンテンツが書かれています。
孫要素は、float している場合もあります。
そのような構造では、本題のエラーが出るものなのでしょうか?
お助け願います。
No.2ベストアンサー
- 回答日時:
IE7以上できちんと適用されるならIEは無視して構わないとは思います。
マイクロソフト自身が「腐った牛乳」と使用して撲滅キャンペーンを張っているくらいです。
マイクロソフト、IE6 撲滅に向けた一大キャンペーン始める | スラッシュドット・ジャパン IT ( http://it.slashdot.jp/story/11/03/07/2037203/%E3 … )
まず、スタイルシートの順番を変えると適用されたりされなかったりするのでしたら、それでどの部分以降が読まれていないかチェックできます。
また、子孫セレクタを解釈しない部分がありますから、間に全称セレクタを入れてみるとかします。
一意セレクタで記述したスタイルに対して、複数クラス指定しても二つ目以降は利きません。
p.small { } 、td.com { }
は、
p small { } 、td span.com { }
と指定できるようにHTMLを書き換えます。
これはIE6のバグですが、HTMLをきちんと記述することで回避できるはずです。
>これは、800pxワイドのwrapper をセンター配置させるCSSです。
まともなブラウザでしたら
width:800px;margin:0;auto;
なのですが、IE6でしたら
body{text-align:center;}
#wraper{width:800px;}
#wraper *{text-align:left;}
ですかね。
私は、この点についてはIE6は無視しています。左に偏って表示されても問題ないですから、それよりも、スマホや幅広ディスプレイに対応させるため
div.article{width:80%;min-width:640px;max-width:800px;margin:0 auto;}
です。
IE6への対応に使う労力がもったいない。
最近では、数字にも上がってこない
日本のバージョン別ブラウザシェアグラフ (StatCounter Global Statsより) ( http://lhsp.s206.xrea.com/misc/browser-share-ver … )
一般的にはIE6の影響は小さいと思います。
特定の所では、XPと合わせてまだ残っていて、たまたま特定のところのホームページだったので、あせりました。
何とか、まともになりました。
お礼を申し上げます。
No.1
- 回答日時:
まずHTMLの文法チェック、ついでCSSの文法チェックをしてください。
The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input )
Another HTML-lint 5 ( http://www.htmllint.net/html-lint/htmllint.html )
W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
なお、細かい部分ですが、HTMLの場合
<link rel="stylesheet" href="base.css" type="text/css" />
ではなくて
<link rel="stylesheet" href="base.css" type="text/css">
です。
left:50%;
margin-left:-400px;
とはなに??
この回答への補足
HTMLの文法チェックをThe W3C Markup Validation Serviceでしました。
<link rel="stylesheet" href="base.css" type="text/css" />を修正しました。他に、ダイレクトで style=""で書き込んである点がエラーではないですが指摘されました。ほかには、エラーはありませんでした。
CSSも、W3C CSS 検証サービスでチェックしましたが、background-colorと文字色の指摘のみで、エラーはありません。
まだ、IE6/7でエラー状態です。
left:50%;
margin-left:-400px;
これは、800pxワイドのwrapper をセンター配置させるCSSです。
参考:
http://www.css-lecture.com/log/css/032.html
その他、UTF-8で、htmlとcssとを書いています。
あと、何をチェックすれば、IE6/7のエラーを解決できるでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS html cssのmargin 5 2022/12/03 11:04
- HTML・CSS htmltとcssのコードで 1 2022/11/26 13:37
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
aタグに直接style=""で:hoverを...
-
<h1>タグの後の行間を詰めたい。
-
インラインフレームの表示位置...
-
HTMLフォームのSELECTの幅を一...
-
INPUT TEXT内の文字位置を指定...
-
端から端まで横線を引きたい
-
<legend>で表示されるタイトル...
-
<P>を使わずに、右寄せ(左寄せ...
-
CSSのtransform: translate(-50...
-
text-alignの解除の方法
-
html,css 全体的に真ん中寄せに...
-
外部CSSがFireFoxで反映されません
-
iPhone用のサイトの文字がずれ...
-
HTML CSS 最大限の横線を引く方法
-
Firefox 横スクロールバーを表...
-
線が極端に細いテーブルで、特...
-
スタイルシートでh1の属性行間...
-
divタグを中央寄せでwidthを指...
-
スタイルシートで均等割りつけ...
-
なぜ左に寄っているの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
コードを書いて下さい( ; ; )...
-
aタグに直接style=""で:hoverを...
-
インラインフレームの表示位置...
-
HTMLフォームのSELECTの幅を一...
-
<h1>タグの後の行間を詰めたい。
-
INPUT TEXT内の文字位置を指定...
-
なぜ左に寄っているの?
-
アップロードするサーバーによ...
-
端から端まで横線を引きたい
-
macとwindowsのレイアウト崩れ...
-
Formタグのブロックの高さについて
-
chromeだけbody直下に空白が開く
-
FireFoxで見るとブラウザの幅に...
-
CSSでh1とその下の文字との行間...
-
IE8ではtext-align: center;で...
-
css。横並びBOXに長文textを流...
-
text-alignの解除の方法
-
div align="center"のalignは旧...
-
<legend>で表示されるタイトル...
おすすめ情報