我正在尝试在HTML页面中的几个不同元素上设置背景颜色,但是每当我应用Doctype声明时,颜色就会被忽略。其他样式似乎不受影响。我确定我是个白痴。

它发生在IE7,FF3和Chrome上。具有严格而过渡的HTML 4 Doctype。身体和div背景受到影响。一个最小的例子如下。如果您删除了Doctype Delcaration,则它的荣耀就是奇特的荣耀,只有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,因为我认为我曾经在酒吧里听到比我自己更聪明的人之间的对话,他们说您不应该宣布XML,除非在服务器上正确设置MIME类型。在我的Cheapo托管帐户上,我不能轻易做这种事情。

有帮助吗?

解决方案

你忘了 # 在颜色值中。

body {
    background-color: #FF00FF;
}
.class1 {
    background-color: #00FFFF;
}

其他提示

忽略颜色的原因是因为声明不正确。在怪异模式下,解释更加轻松,尽管事件是不正确的,但在符合标准的模式下,声明必须正确。

将ff00ff更改为#ff00ff,然后将00ffff更改为#00ffff。

#ff00ff也可以用简短的表格#f0f编写,#00ffff为#0ff。

在CSS中,您可以在RGB或十六进制中定义颜色。这就是你所做的。但是十六进制的颜色像 #rrggbb. 。你错过了 #。似乎是因为设置了Doctype而进行验证,那么这种“几乎正确的”颜色定义无法正确解释。

删除以下行

Doctype HTML公共” - // W3C // DTD HTML 4.01 Transitional // en”“”http://www.w3.org

那就可以了,但是我不知道为什么。

您应该使用Allsoou003Cstyle type="text/css"> OR even better, don't use inline styling!

验证您的HTML代码 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top