zsoerenm: Probleme mit :hover effekt im firefox/netscape browser

Hallo zusammen

Ich hab ein Problem mit dem :hover effekt. Im IE 7 wird es richtig angezeigt in allen anderen jedoch nicht ;) Mir geht es momentan erst mal darum, dass meine Page auch im firefox bzw netscape richtig angezeigt wird...

ich hab eine navigationsleiste erstellt. Diese hab ich mit Hilfe von http://de.selfhtml.org/css/layouts/navigationsleisten.htm#modern
gemacht...

Dort erscheint eine ul wenn man mit der Maus über dem ist, was im li ist

ul#Navigation li ul {
    display: none;  /* Unternavigation ausblenden */

ul#Navigation li:hover ul {
    display: block;  /* Unternavigation in modernen Browsern einblenden */
  }

ich jedoch möchte dass ein tabelle erscheint also:

ul#Navigation li table {
    display: none;  /* Unternavigation ausblenden */

ul#Navigation li:hover table {
    display: block;  /* Unternavigation in modernen Browsern einblenden */
  }

Dies funktioniert aber leider nur unter dem IE 7. Hat jemand einen Rat was ich tun könnte damit dies auch im Firefox/Netscape angezeigt wird...?
Hier zum schauen http://kas.mydyn.de ist nicht immer online, weil das auf meinem PC ist

  1. Hi,

    Im IE 7 wird es richtig angezeigt in allen anderen jedoch nicht

    Wie fast immer ist auch in diesem Fall die Aussage, daß der IE etwas richtig macht, die anderen aber falsch, falsch.

    ul#Navigation li table {
        display: none;  /* Unternavigation ausblenden */

    ul#Navigation li:hover table {
        display: block;  /* Unternavigation in modernen Browsern einblenden */
      }
    Dies funktioniert aber leider nur unter dem IE 7.

    Ja, daß der IE kaputt ist, ist bekannt. block ist kein geeigneter display-Wert für eine Tabelle. Jeder normale Browser kommt mit table für display zurecht, nur der IE meint, daß block paßt.

    Der IE 6 und älter kommt schon mit dem :hover für's li nicht klar.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      Ja, daß der IE kaputt ist, ist bekannt. block ist kein geeigneter display-Wert für eine Tabelle. Jeder normale Browser kommt mit table für display zurecht, nur der IE meint, daß block paßt.

      Was soll ich anstatt block verwenden, damit dieses wie gewünscht auch im netscape/firefox angezeigt wird?

      Gruß Sören

      1. Hallo,

        Hi,

        Ja, daß der IE kaputt ist, ist bekannt. block ist kein geeigneter display-Wert für eine Tabelle. Jeder normale Browser kommt mit table für display zurecht, nur der IE meint, daß block paßt.

        Was soll ich anstatt block verwenden, damit dieses wie gewünscht auch im netscape/firefox angezeigt wird?

        Das hat Mud Guard doch geschrieben:

        Jeder normale Browser kommt mit >>*table*<< für >>*display*<< zurecht

        logische Schlussfolgerung:
        display:table

        mfg. Daniel

        1. Hi

          Jeder normale Browser kommt mit >>*table*<< für >>*display*<< zurecht

          logische Schlussfolgerung:
          display:table

          mfg. Daniel

          display:table bewirkt nichts... das problem ist ja dass das table nicht nicht angezeigt wird... display:none scheint nicht zu funktionieren.
          Hab das Problem jetzt mit javascript gelöst mit Hilfe von visiblity.

          Gruß Sören

          1. Hallo,

            display:table bewirkt nichts... das problem ist ja dass das table nicht nicht angezeigt wird... display:none scheint nicht zu funktionieren.

            Ich habe mir gerade nochmal deine Seitenstruktur im DOM-Inspector reingezogen. Mich wundert, dass der IE7 die Tabelle ausblendet. Du hast folgende Struktur:

              
            <ul>  
            <li></li>  
            <li></li>  
            <table></table>  
            <li></li>  
            <li></li>  
            </ul>  
            
            

            Abgesehen davon, dass sich unterhalb einer <ul> nur <li>s befinden dürfen, kann folgende CSS-Regel doch eigentlich gar nicht greifen:

              
            ul#Navigation li table {  
                display: none;  /* Unternavigation ausblenden */  
            
            

            …da sich die Tabelle ja nicht unter den <li> befindet, sondern daneben.Du musst die Tabelle also unter das <li> packen.

            Hab das Problem jetzt mit javascript gelöst mit Hilfe von visiblity.

            Das ist eine ganz normale CSS-Eigenschaft. Du scheinst den Sinn von CSS-Aufklappmenüs noch nicht kapiert zu haben -> *nicht jeder Anwender hat JS aktiviert*.

            Dein Problem ließe sich vielleicht am Besten beheben, indem du erst mal valides XHTML schreibst. Der Validator findet deine Seite nämlich gar nicht gut!

            Außerdem solltest du nicht XHTML 1.0-Strict angeben, wenn du HTML 4.01 Transitional schreibst. Wenn du dir die Datei mal als application/xhtml+xml rendern lässt, weißt du, was ich meine.

            Probier's aus: gib der Datei mal die Endung *.xhtml (dann müsste sie dein Server korrekt ausliefern) und öffne sie in einem XHTML-fähigen Browser (Firefox oder Opera).

            mfg. Daniel

      2. Hi,

        Was soll ich anstatt block verwenden, damit dieses wie gewünscht auch im netscape/firefox angezeigt wird?

        Du solltest überhaupt keine Tabellen in einer Navigation verwenden. Davon abgesehen: wie sieht Dein HTML aus? Ist es überhaupt valide?

        freundliche Grüße
        Ingo