1

HTML ページのいくつかの異なる要素に背景色を設定しようとしていますが、doctype 宣言を適用するたびに色が無視されます。他のスタイルは影響を受けないようです。私はばかだと確信しています。

IE7、FF3、および Chrome で発生します。Strict および Transitional html 4 Doctype を使用。Body と Div の背景が影響を受けます。最小限の例を以下に示します。Doctype 宣言を削除すると、Doctype 付きの派手な栄光のすべてでレンダリングされます - 面倒な白黒のみ。

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <style>
        body{background-color:FF00FF;}
        .class1{background-color:00FFFF;}
    </style>
</head>
<body>
    <div class="class1">Some Text</div>
</body>
</html>

ところで、私は XHTML を使用していません。サーバーで MIME タイプが正しく設定されていない限り、XML を宣言するべきではないと言った私よりもはるかに賢い人々の間のパブでの会話を耳にしたと思うからです。私の安っぽいホスティング アカウントでは、そのようなことは簡単にはできません。

4

5 に答える 5

8

#色の値の を忘れました。

body {
    background-color: #FF00FF;
}
.class1 {
    background-color: #00FFFF;
}
于 2009-03-01T13:04:26.477 に答える
6

色が無視されるのは、宣言が正しくないためです。quirks モードでは解釈がより緩和され、色が正しくなくても受け入れられますが、標準準拠モードでは宣言が正しくなければなりません。

FF00FF を #FF00FF に、00FFFF を #00FFFF に変更します。

#FF00FF は省略形 #F0F で、#00FFFF は #0FF としても記述できます。

于 2009-03-01T13:06:10.793 に答える
1

CSS では、RGB または Hex で色を定義できます。これはあなたがしたことです。しかし、Hex-Colors は のように書かれて#rrggbbいます。#を見逃しました。doctype が設定されているため、検証に関しては、そのような「ほぼ正しい」色の定義が正しく解釈されないようです。

于 2009-03-01T13:06:14.287 に答える
1

次の行を削除します

DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org

それなら大丈夫でしょうが、理由はわかりません。

于 2009-06-11T05:30:21.013 に答える
0

<style type="text/css"> を使用するか、インライン スタイリングを使用しないでください。

ここでhtml コードを常に検証してください。

于 2009-03-01T14:03:02.997 に答える