2017-03-20 2 views
1

Warum folgenden HTML Code:Warum zeigt rgb (0,0,0) in einigen Browsern Rot?

<html> 
 
\t <head> 
 
\t \t <title>Test</title> 
 
\t </head> 
 
\t <body> 
 
\t \t Some Text<br /> 
 
\t \t <font color="rgb(0,0,0)">More Text</font><br /> 
 
\t \t <span style="color: rgb(255, 0, 0);"> 
 
\t \t \t <font color="rgb(0,0,0)">And the last of the text!</font> 
 
\t \t </span> 
 
\t </body> 
 
</html>

Ergebnis in der Ausgabe auf dem Bild unter dem Link (die rote Färbung bemerken!):

Link to screenshot

Diese scheint in Chrome und Firefox und sogar in Outlook (in HTML-E-Mails) zu passieren, aber der Text wird in IE 11 schwarz dargestellt.

Es ist nicht unbedingt etwas, was ich brauche oder reparieren kann, aber diese Art von Styling ist etwas, das von einer Komponente von Drittanbietern gegeben wird, und es hat mich dazu gebracht, mich zu fragen, warum dies das Ergebnis liefert. Ich kann nirgendwo im Internet irgendwelche Vorschläge finden, warum dies eher rot (ish) als schwarz wäre.

Ich möchte es mehr als alles verstehen.

+6

Sie mischen Stileigenschaften und Farbe, die Präsentierung offensichtlich ändert sich per Browser. Im Grunde genommen nicht 'color =" "' CSS sollte ein HTML-Element stylen. – Liam

+5

Verwenden Sie auch nicht '' – j08691

+3

Der 'font' Tag wurde vor mindestens einem Jahrzehnt veraltet, oder ?! Ähnlich das 'color' Attribut? –

Antwort

8

Die HTML color attribute (die superseded over two decades ago war) akzeptiert keine CSS-Farbwerte. Es akzeptiert nur HTML color values.

rgb(0,0,0) ist ein CSS-Farbwert. Es ist kein HTML-Farbwert.

Error recovery wird dazu führen, dass es entweder ignoriert wird (in diesem Fall wird die Farbe des Elternelements vererbt) oder als eine andere Farbe behandelt.

+2

Relevante Spezifikationen für HTML 4, wenn Sie einschließen möchten: https://www.w3.org/TR/ html4/present/graphics.html # edef-FONT und https://www.w3.org/TR/html4/types.html#type-color – Chris

+0

@Chris: Ha! 18 Jahre. :-) –

+0

Zumindest ... Es war auch in der 4.0-Spezifikation vom April '98 veraltet ... Ich bin fasziniert und werde weiter suchen. ;-) – Chris

1

Einige Browser zeigen <font color="rgb(0,0,0)"> in rot, weil sie "rgb(0,0,0)" interpretieren - was nach the deprecated spec kein gültiger Farbwert - als Hex Farbe String #b00000:

<font color="rgb(0,0,0)">This color</font> 
 
equals 
 
<font color="#b00000">this color</font>

Siehe Why does HTML think “chucknorris” is a color? für eine Erläuterung. Danke an @ j08691, dass du das in den Kommentaren oben angegeben hast.

Verwandte Themen