Pregunta

Estoy tratando de establecer los colores de fondo en algunos elementos diferentes en una página HTML, pero cada vez que aplico una declaración DOCTYPE los colores son ignorados. Otros estilos parecen no afectado. Estoy seguro de que estoy siendo un idiota.

Sucede en IE7, FF3 y Chrome. Con estrictos y de transición HTML 4 Doctype. Cuerpo y Div fondos se ven afectados. Un ejemplo mínima está por debajo. Si elimina la delcaration Doctype, se hizo en toda su gloria estridente, con tipo de documento -. Tediosa blanco y negro solamente

<!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>

BTW - No estoy usando XHTML, porque creo que una vez escuché una conversación en un bar entre la gente mucho más inteligente que yo, que dijo que dijo que no se debe declarar XML a menos que los tipos MIME se establecen correctamente en el servidor. En mi cuenta de alojamiento cheapo no puedo hacer ese tipo de cosas fácilmente.

¿Fue útil?

Solución

Ha olvidado el # en los valores de color.

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

Otros consejos

La razón por la que los colores se ignoran se debe a que la declaración es incorrecta. En el modo de peculiaridades de la interpretación es más relajado, y los colores son aceptados apesar de que son incorrectas, pero en modo compatible con las normas de la declaración tiene que ser correcta.

Cambiar a FF00FF # FF00FF y 00FFFF a # 00FFFF.

# FF00FF también se puede escribir en la forma corta # F0F, y # 00FFFF como # 0FF.

En CSS puede definir colores en RGB o hexadecimal. Esto es lo que hizo. Pero Hex-Los colores se escriben como #rrggbb. Se ha perdido en el # . Parece que cuando se trata de validación porque un tipo de documento está establecido, entonces tales definiciones de color "casi-correctos" no son interpretados correctamente.

eliminar la línea siguiente

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

entonces va a ser bien, pero no sé qué.

Su uso debe allsoo