0x1b - ESCAPE
HTML PDF Postscript
 Aerger mit Safari 
Computer Geschrieben von Beat Rubischon am Donnerstag, 12. Mai 2005, 15:17
aus dem css-ist-evil dept.

Ein Kollege aus Deutschland machte mich darauf aufmerksam, dass sein Safari auf seinem Powerbook Aerger mit unserer Site macht. Klickte man auf einen Link oder Text in einer Box, so wurde der ganze Text grellweiss. Es dauerte doch die eine oder andere Fahrt Obstalden Zürich bis ich wusste, was Sache war.

Alle anderen Browser haben das Problem nicht. Nicht einmal Konqueror, der wie Safari auch auf KHTML basiert.

Nun, ich hab's jetzt im Griff. Eigentlich simpel:

Ich habe eine Tabelle und binde an eine Zelle eine CSS-Klasse:

---8<---
<table>
  <tr>
    <td class="boxbody">
      blabla
    </td>
  </tr>
</table>
---8<---


---8<---
body {
  color: black;
  background-color: #535353;
}

td.boxbody {
  background-color: #ffffff;
}

td.boxbody a:hover, a:active, a:focus {
  color: rgb(255,255,255);
}
---8<---


Ich definiere also ein anderer Hintergrund innerhalb der Zelle und die weisse Farbe eines Linkes beim Darüberziehen der Maus, beim Clicken und im Falle eines manuellen Fokusses des Links.

So, jetzt wird der Text Innerhalb beliebiger Tabellenzellen hellweiss, wenn man irgendwo innerhalb der Tabelle klickt.

Lösung - man muss in der Klasse, die an die Tabellenzelle geklebt ist, die Fontfarbe setzen:

---8<---
td.boxbody {
  color: black;
  background-color: #ffffff;
}
---8<---


Fertig. Fragt mich bitte nicht, wie lange ich dafür mein Hirn zermartert habe...

Permalink

Das Kleingedruckte: Der Besitzer der folgenden Kommentare ist wer immer sie eingeschickt hat. Wir sind in keiner Weise für sie verantwortlich.

  • elmar@heebs.ch Re: Aerger mit Safari
    Geschrieben von Elmar Heeb am Freitag, 13. Mai 2005, 14:47

    > ---8<---
    > td.boxbody {
    >   color: black;
    >   background-color: #ffffff;
    > }
    > ---8<---


    Es gilt ja als guter Stil, wenn man immer die Vordergrund- und die Hintergrundfarbe zusammen definiert. Es mag sein, dass sich die Tester im Safari-Entwicklerteam strikte daran halten und deshalb in ihren Tests nirgends einen Fall haben, der nur color aber nicht background-color umdefiniert. Na ja, Test von "fehlerhaften" Seiten sollten eben auch dabei sein, speziell wenn wie hier nur eine Empfehlung nicht befolgt wurde.

    Ein Bug in Safari ist es allemal. Immerhin wurde für body das ganze Farbenpaar definiert und so sollte es für Sub-Tags immer noch guter Stil sein, nur eine der beiden Farben umzudefinieren.

    Das ganze zeigt einfach, dass CSS zwar eine gute Idee ist, den Inhalt von der Darstellung zu trennen, dass man dafür aber eine Komplexität einhandelt, die es nicht mehr erlaubt, sauber alle Kombinationen auszutesten.