ie vs ff

Status
Nicht offen für weitere Antworten.

ARadauer

Grünschnabel
ich beschäftige mich seit einiger zeit wieder mit css und stoße natürlich auf die alt bekannten probleme, dass der css standard bei den beiden großen browsern nicht gleich dargestellt wird.

jetzt hab ich mich nächer mit dem eigentlichen standard beschäftigt und bin zu der schlussfolgerung gekommen, dass es ff richtiger macht aber ie logischer. sprich der css standard vom w3c is schlecht. richtig schlecht!

http://www.w3.org/Style/CSS/Test/CSS2.1/20061011/t010403-shand-border-00-c.htm
beispiel von der w3c css testsuit. der rahmen sollte grün sein, ie macht ihn aber rot. und ganz erhlich, wenn ich mir den css code anseh würd ich ihn auch rot machen!

p { color: red; }
p { border-color: red; }
p { border: medium solid; }
p { color: green; }

color green, ja aber wieso soll das die rahmen farbe ändern, da gibts nur ein border-color, und das is rot! also rot!

was sagt ihr dazu? meine meinung: ie ist nicht schuld, an der misiere, der standard vom w3c is e
 
Hi @ARadauer,
If an element's border color is not specified with a border property, user agents must use the value of the element's 'color' property as the computed value for the border color.
Quelle: www.w3.org

Ich kann nicht nachvollziehen, was daran falsch sein soll, sich an einen Pseudo-Standard zu halten, der besagt, dass bei fehlender Angabe der Rahmenfarbe die Textfarbe verwendet werden muss. Immerhin ist ein Grossteil der Browserhersteller dazu bereit.

Weiterhin weigert sich der IE auch nur, sich nicht an diesen Standard zu halten, solange das StyleSheet direkt eingebunden wird. Wird es hingegen mit der gleichen Logik mittels JavaScript einem Absatz zugewiesen, verhält sich der Browser wie vom W3C festgesetzt.
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<script type="text/javascript">
<!--
function setStyles(){
  var objParaStyle = document.getElementById("paraID").style;

  objParaStyle.color = "#f00";
  objParaStyle.borderColor = "#f00";
  objParaStyle.border = "medium solid";
  objParaStyle.color = "#0f0";
}
-->
</script>
</head>
<body>
<button onclick="setStyles();">setStyles</button>
<p id="paraID">Test</p>
</body>
</html>
Wenn also von Logik gesprochen wird, so widerspricht sich der IE hier selbst – zumindest ist sein Verhalten sehr inkonsequent. Immerhin wird das standardkonforme Verhalten in der MSDN entsprechend dem des W3C beschrieben.
If a color is not specified, the text color is used.
Quelle: MSDN


Ciao
Quaese
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück