CSSler: display: none; klappt bei DIV im Firefox nicht?!

Hallo Leutchen,

ich habe mir eine Sprachauswahlroutine auf die HP gebastelt, wir müssen uns der Globalisierung ja anpassen, gell ;-)

Also ein Bild der Flagge Großbritanniens, darauf ein Verweis zur JavScript-Funktion setEnglish(), die die <div id="Deutsch"> auf visible: none; setzt und die <div id="Englisch"> auf display: block;

Im Opera und im IE (*graus*) klappt es, nur im FF nicht. Meine Vermutung: <div> ist kein Block-Element? Aber was dann? Ein Inline? Fehlnazeige, klappt auch nicht.

Was genau ist <div> denn dann?

Grüße
euer CSSler

  1. Hi,

    eine Sprachauswahlroutine
    Also ein Bild der Flagge Großbritanniens,

    Gibt's dann eine Mischung aus Walisisch, Gaelisch (Scots), Cornish und Englisch?

    die die <div id="Deutsch"> auf visible: none; setzt

    Eine Eigenschaft mit diesem Namen gibt es nicht - visibility gäbe es, aber die kennt den Wert none nicht.

    und die <div id="Englisch"> auf display: block;

    Im Opera und im IE (*graus*) klappt es,

    Das ist verdächtig. Opera versucht oft, die Fehler des IE zu imitieren ...

    nur im FF nicht.

    Meine Vermutung: <div> ist kein Block-Element?

    Falsch. div ist in HTML ein block-Element, und hat daher per default display:block;

    Meine Vermutung: Du hast falschen Code, der von IE (und Opera) zufällig so fehlinterpretiert wird, daß das von Dir gewünschte Ergebnis dabei rauskommt.

    (Leider verschweigst Du ja den Code, sonst könnte ich meine Vermutung verifizieren ...)

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. Danke für die Antworten,

      ich habe in der Tat "visibility" und "display" verwechselt - naja.

      Nun habe ich in der Funktion setGerman() Folgendes stehen:

        
      function setGerman () {  
          document.all.Deutsch.visibility = "visible";  
          document.all.Englisch.visibility = "hidden";  
      }  
      
      

      Und die setEnglish() entsprechend.

      Aber es klappt wieder nur in IE und Opera. Seltsam. Weiß jemand Rat?

      1. document.getElementById('Deutsch').style.visibility = "visible";

        all = nur IE

        1. Das wusste ich nicht. Super, danke, jetzt funktioniert es einwandfrei!

          Tausend dank nochmal :-)

          1. Das wusste ich nicht.

            hätte man überall nachlesen können, z.b. in http://de.selfhtml.org/javascript/objekte/all.htm#allgemeines@title=selfhtml

            Struppi.

  2. Grüße,

    1)div ist block
    2)inline Objekt darf zum block erklärt werden
    3)den unterschied zwischen display und visible kennst du schon?
    4)wie genau sprichst du es an? ganzes JS bitte
    5)was sagt die Fehlerkonsole?
    MFG
    bleicher

    --
    __________________________-

    FirefoxMyth
  3. ##sichtbar / unsichtbar machen
    visibility='hidden'
    visibility='visible'

    ##anzeigen / nicht anzeigen
    display='none'
    display='block'

  4. @@CSSler:

    nuqneH

    ich habe mir eine Sprachauswahlroutine auf die HP gebastelt, wir müssen uns der Globalisierung ja anpassen, gell ;-)

    Eine vernünftige Sprachauswahlroutine sieht so aus, dass nicht der Nuzter die Sprache auswählen muss, sondern dass der Server das automatisch erledigt – anhand der Einstellung der bevorzugten Sprachen im Browser des Nutzers.

    Also ein Bild der Flagge Großbritanniens

    Was hat der Union Jack mit Englisch zu tun? Flaggen stehen für Länder, nicht für Sprachen.

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. Eine vernünftige Sprachauswahlroutine sieht so aus, dass nicht der Nuzter die Sprache auswählen muss, sondern dass der Server das automatisch erledigt – anhand der Einstellung der bevorzugten Sprachen im Browser des Nutzers.

      Ich habe mit (Voll-) Automatiken so meine Probleme. Dein Vorschlag setzt PHP voraus, also die Auswertung der Browser- Sprache.

      Als Vorschlagswert ist die Automatik okay, aber dann ist es ein netter Service, die Sprache selbst ändern zu können.

      LG Kalle

      1. Hi,

        Eine vernünftige Sprachauswahlroutine sieht so aus, dass nicht der Nuzter die Sprache auswählen muss, sondern dass der Server das automatisch erledigt – anhand der Einstellung der bevorzugten Sprachen im Browser des Nutzers.

        Ich habe mit (Voll-) Automatiken so meine Probleme. Dein Vorschlag setzt PHP voraus,

        den Vorschlag gab es schon lange vor der Erfindung von PHP. Wie kommst Du also auf eine solche Abhängigkeit?

        also die Auswertung der Browser- Sprache.

        Nein, die Auswertung der vom Nutzer eingestellten bevorzugten Sprache. Das ist bei mir beispielsweise Deutsch (die von Gunnar genannte Seite wird mir auch in dieser Sprache geliefert), obwohl mein Browser ein englischsprachiges User-Interface besitzt und auch kein weiteres Sprachpaket installiert hat.

        Als Vorschlagswert ist die Automatik okay, aber dann ist es ein netter Service, die Sprache selbst ändern zu können.

        Ja, das gehört zum Standard-Verfahren der Content-Negotiation. Von JavaScript war es noch nie abhängig.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. @@Kalle_B:

        nuqneH

        Dein Vorschlag setzt PHP voraus

        Schmarrn. Steht in dem Artikel irgendetwas von PHP?

        Allerdings hätte ich doch noch einen Vorschlag mit PHP: Content Negotiation: why it is useful, and how to make it work

        Als Vorschlagswert ist die Automatik okay, aber dann ist es ein netter Service, die Sprache selbst ändern zu können.

        Nein, kein netter Service, sondern ein Muss. Steht auch in dem Artikel.

        Vielleicht solltest du ihn wenigstens mal überfliegen?

        Qapla'

        --
        Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)