Domanda

Sto cercando di impostare i colori di sfondo su un paio di elementi diversi in una pagina HTML, ma ogni volta che applico una dichiarazione DOCTYPE i colori vengono ignorati. Altri stili sembrano inalterati. Sono sicuro che io sia un idiota.

Accade su IE7, FF3 e Chrome. Con Strict e Transitional HTML 4 Doctype. Corpo e Div sfondi sono interessati. Un esempio minimo è inferiore. Se si elimina il delcaration Doctype, è resa in tutta la sua gloria sgargiante, con doctype -. Noioso bianco e nero solo

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

A proposito - non sto usando XHTML perché penso che una volta ho sentito una conversazione in un pub, tra le persone più intelligenti di me che ha detto che ha detto che non si deve dichiarare XML a meno che i tipi MIME siano correttamente impostate sul server. Sul mio account di hosting cheapo non posso fare questo genere di cose con facilità.

È stato utile?

Soluzione

Hai dimenticato la # nei valori di colore.

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

Altri suggerimenti

La ragione per cui i colori vengono ignorati perché la dichiarazione non è corretta. In quirks mode l'interpretazione è più rilassato, ei colori sono accettati nonostante sapessero che non sono corretti, ma in modalità standard compliant la dichiarazione deve essere corretta.

Cambia FF00FF a # FF00FF, e 00FFFF a # 00FFFF.

# FF00FF può anche essere scritta nella forma breve # F0F, e # 00FFFF come # 0FF.

In CSS è possibile definire i colori in RGB o esadecimale. Questo è quello che hai fatto. Ma Hex-I colori sono scritti come #rrggbb. Ti sei perso il # . Sembra che quando si tratta di convalida perché un DOCTYPE è impostato, allora tali definizioni "quasi-corretti" colori non vengano interpretati correttamente.

rimuovere la seguente riga

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

allora sarà ok, ma io non so perché.

Il tuo dovrebbe allsoo utilizzo