Fux 1.0 PRNF und CSS (text-decoration) - läuft nicht sauber

  • Hi zusammen,

    ich bin gerade dabei eine ungeliebte Datenbank für einen Kunden auf eine Webbasierte Lösung umzustellen, damit alles wie gewohnt aussieht soll das ganze per Stylesheet formatiert werden. Zu diesem Zweck müssen einige Zellinhalte (Texte) in Tabellen in roter Schrift und durchgestrichen dargestellt werden. Auszug aus dem CSS:

    Code
    tr.old {
       text-decoration: line-through; 
       background: silver;
       color: #FF0000 }

    In der HTML-Datei (später soll es über PHP laufen, das HTML-File dient jetzt nur zum Testen und Entwickeln des CSS) erfolgt der Aufruf wie folgt:

    Code
    <TABLE>
      <TR class="old"><TD>Testdaten 001</TD><TD>Testdaten 002</TD><td>Testdaten 003</td></TR>
      </TABLE>

    Problem: der Text wird nicht durchgestrichen. Gegenprobe im IE war erfolgreich (was verwunderlich ist, vor allem da andere Styles nicht übernommen werden). Bei normalem Text (d.h. innerhalb eines Paragraphs oder Span) läßt sich der Text problemlos durchstreichen. Offensichtlich besteht dieses Problem nur innerhalb von Tabellen.

    Ich habe sowohl die HTML-Datei als auch das CSS durch die W3-Validator überprüfen lassen, beide waren einwandfrei. Wenn ich das HTML-Tag <strike> in der Tabelle verwende, gibt es ebenfalls keine Probleme. Somit bleibt für mich eigentlich nur die Möglichkeit, daß es sich um einen Bug in der CSS-Interpretation durch den Firefox handelt ...?

    Kann jemand von Euch was dazu sagen, das Problem verifizieren oder was auch immer?

    Danke & Gruß
    Rick

    Windows 7 • Windows XP • MacOS 10.14.2 • It's better to be hated for what you are than to be loved for what you're not.

  • Hi...
    Deinen Bug kann ich leider nicht nachvollziehen...
    Hab mir genau Deinen Source genommen und die Styles eingebunden...
    War wunderbar rot durchgestrichen und die Zeile war silber hinterlegt...

    cu,
    mthie

  • Hi zusammen,

    erst mal danke für die Tests ... ich habe mittlerweile auch den "Fehler" gefunden ...

    fügt mal bitte folgende Zeile an den Anfang des Dokuments ein (als erste Zeile):

    Code
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

    Hat dafür zufällig noch jemand eine Erklärung parat ...? Lt. W3 ist auch diese Zeile konform, der Validator hat das ganze ebenfalls nicht angemeckert. Also doch ein Bug?

    Gruß
    Rick

    PS. Okay, Bugcatcher, Du warst zwischenzeitlich auch soweit ;)

    Windows 7 • Windows XP • MacOS 10.14.2 • It's better to be hated for what you are than to be loved for what you're not.

  • Ich hab's jetzt nicht probiert ... aber definier doch einfach mal nicht die ganze Zeile als durchgestrichen, sondern nur die jeweilige Zelle! Also

    Code
    td.old
    {
      text-decoration:line-through;
      background:silver;
      color:rgb(255, 0, 0);
    }


    und dann

    Code
    <table>
      <tr><td class="old">Testdaten 001</td><td>usw., usf...</td></tr>
    </table>


    und schreib mal lieber alles HTML klein. das Großgeschreibe ist glaub ich seit XHTML depreciated, spätestens seit XHTML 1.1. Wenn nicht sogar obsolete. Aber da bin ich mir nicht sicher ... aber generell würde ich keine Seite mehr schreiben, die noch HTML benutzt. Vor allem kein HTML Transitional!
    Ansonsten würd ich vorschlagen, den Inhalt von Zellen, die durchgestrichen werden sollen, in <span>-Tags einzuschließen. Das funktioniert auf jeden Fall!

    Normalerweise sollte aber eigentlich eine Eigenschaftszuweisung für ein Elternelement auch für das jeweilige Kindelement gelten ... Aber es ist noch lang nicht gesagt, daß das in diesem Fall korrekt ist, nur weil es der M$IE anzeigt - wenn nicht sogar auzuschließen ;) Da müßte man mal jemanden fragen, der da (Fx-mäßig) eine Ahnung davon hat. Was sagt SelfHTML zu sowas?

    Aber wenn das mit HTML 4.01 Transitional (noch) funktioniert und mit XHTML nicht mehr, dann liegt irgendwie die Vermutung nahe, daß es dafür einen (vernünftigen) Grund gibt, oder?! Wie das mit dem <a ... target="_blank"> - das gibt's auch bei XHTML (aus gutem Grund!!!) nicht mehr.

    MfG, Libby

  • Wenn man schon eine Seite neu macht, dann kann man doch eigentlich schon folgendes drüberschreiben:

    HTML
    <?xml version="1.0" encoding="UTF-8"?>
    
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
       "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

    ;)

    Weil wenn die Seite ohnehin schon php-mäßig erzeugt wird, dann macht's eigentlich nicht mehr Arbeit, class="xyz" in jedes <td> reinzusetzen. Braucht man ja nur in eine Variable zu schreiben.