Hubert: Conditional Comments & andere Fragen

Hallo zusammen,

Das Menü meiner HP habe ich für moderne Browser mit position:fixed fixiert. Damit der IE das Menü sammt restlicher HP ganz normal mitscrollt, habe ich per

<!--[if IE]>
#menuleiste {position:absolute;}
<![endif]-->

den Wert von absolute auf fixed gesetzt.

Nun möchte ich um W3C-konform zu arbeiten, die Definitionen für farbige Scrollbalken in einen Conditional Comment direkt darunter setzen:

<!--[if gte IE 5.5]>
body { scrollbar-base-color: #123456;
...
... }
<![endif]-->

Ist das so optimal oder ist es auch okay wenn ich schreibe:

<!--[if IE]>
#menuleiste {position:absolute;}
body { scrollbar-base-color: #123456;
...
... }
<![endif]-->

Noch eine Frage: Opera 6 scheint leider ebenfalls nicht mit position:fixed zurechtzukommmen. Meine HP bleibt dabei zwar weiterhin les- und navigierbar, aber es werden Elemente (z.B. Hintergrundfarben) gescrollt, was absolut nicht schön aussieht.

Gibt es für dieses Problem einen Workaround oder andere Lösungen?

Danke für alle Antworten!
Hubert

  1. Hi,

    Ist das so optimal oder ist es auch okay wenn ich schreibe:

    <!--[if IE]>
    #menuleiste {position:absolute;}
    body { scrollbar-base-color: #123456;
    ...
    ... }
    <![endif]-->

    das ist genauso "korrekt" und auch einfacher. Allerdings müßte diese Seite vom IE 6 im quirks mode gerendert werden, damit sich die Scrollbalkendefinitionen auswirken.

    Noch eine Frage: Opera 6 scheint leider ebenfalls nicht mit position:fixed zurechtzukommmen.

    Wer verwendet noch Opera 6? Wenn die Seite navigierbar ist, würde ich da nichts tun.

    freundliche Grüße
    Ingo

    1. Ist das so optimal oder ist es auch okay wenn ich schreibe:

      <!--[if IE]>
      #menuleiste {position:absolute;}
      body { scrollbar-base-color: #123456;
      ...
      ... }
      <![endif]-->
      das ist genauso "korrekt" und auch einfacher. Allerdings müßte diese Seite vom IE 6 im quirks mode gerendert werden, damit sich die Scrollbalkendefinitionen auswirken.

      Du meinst, wenn die Scrollbardefintion drin stehen, rendert IE im Quirks Modus? Genau das möchte ich verhindern. Gibts trotzdem ne Möglichkeit IE dazu zu bringen, farbige Scrollbalken im "richtigen" Modus zu zeigen und gleichzeitig den Code W3C-valide zu schreiben?

      Wer verwendet noch Opera 6? Wenn die Seite navigierbar ist, würde ich da nichts tun.

      Ich glaube da gibt es mehr als man vermutet. :-/ Naja, aber Recht haste natürlich. ;)

      Gruß, Hubert

      1. Hi,

        das ist genauso "korrekt" und auch einfacher. Allerdings müßte diese Seite vom IE 6 im quirks mode gerendert werden, damit sich die Scrollbalkendefinitionen auswirken.

        Du meinst, wenn die Scrollbardefintion drin stehen, rendert IE im Quirks Modus?

        Nein, da hast Du mich falsch verstanden.
        Wenn Du die Scrollbalken wie hier nur für body definierst, akzeptiert das der IE6 nur im quirks mode.

        freundliche Grüße
        Ingo

        1. Hallo,

          Wenn Du die Scrollbalken wie hier nur für body definierst, akzeptiert das der IE6 nur im quirks mode.

          Mhh, wie sollte man sie sonst definieren?
          html, body { ... } ?

          Hubert

          1. Hi,

            Mhh, wie sollte man sie sonst definieren?
            html, body { ... } ?

            ganz genau. Ersteres für IE 6 im standards-complient mode und letzteres für ältere IEs bzw. den quirks mode.

            freundliche Grüße
            Ingo

            1. Hi!

              ganz genau. Ersteres für IE 6 im standards-complient mode und letzteres für ältere IEs bzw. den quirks mode.

              Sorry das ich frage, aber ich will sicher gehen dass es so defintiv für alle IE-Versionen okay ist:

              <!--[if IE]>
              <style type="text/css">
              #menuleiste { position: absolute; }
              html, body {
              scrollbar-face-color: #CECEBD;
              scrollbar-highlight-color: #FFFFFF;
              scrollbar-3dlight-color: #CECEBD;
              scrollbar-darkshadow-color: #000000;
              scrollbar-shadow-color: #7E7E7F;
              scrollbar-arrow-color: #000000;
              scrollbar-track-color: #E7E7E7;
              }
              </style>
              <![endif]-->

              Gruß, Hubert

              1. Hi,

                Sorry das ich frage, aber ich will sicher gehen dass es so defintiv für alle IE-Versionen okay ist:

                ja, ist es - für alle IE-Versionen, die dieses Feature unterstützen.

                freundliche Grüße
                Ingo

                1. Hi,

                  Sorry das ich frage, aber ich will sicher gehen dass es so defintiv für alle IE-Versionen okay ist:
                  ja, ist es - für alle IE-Versionen, die dieses Feature unterstützen.

                  freundliche Grüße
                  Ingo

                  Danke! :)

                  Hubert

  2. hi,

    <!--[if IE]>
    #menuleiste {position:absolute;}
    <![endif]-->

    das ist, wenn es innerhalb eines style-bereiches oder einer externen CSS-datei steht, ungültiges CSS.

    wenn schon, dann so:

    <!--[if IE]>
      <style ...>
        #menuleiste {position:absolute;}
      </style>
    <![endif]-->

    Noch eine Frage: Opera 6 scheint leider ebenfalls nicht mit position:fixed zurechtzukommmen.

    opera 6 ist vom alter her mit IE 4 und NS 4 gleichzusetzen; und von den aktuellen nutzerzahlen sicherlich noch weit darunter anzusiedeln.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo,

      <!--[if IE]>
      #menuleiste {position:absolute;}
      <![endif]-->

      das ist, wenn es innerhalb eines style-bereiches oder einer externen CSS-datei steht, ungültiges CSS.

      wenn schon, dann so:

      <!--[if IE]>
        <style ...>
          #menuleiste {position:absolute;}
        </style>
      <![endif]-->

      Stimmt, das habe ich ganz vergessen, ist jetzt auch nur ein Beispiel. Bei meiner HP ist es natürlich dabei. ;)

      Hubert

  3. Hallo,

    Ist das so optimal oder ist es auch okay wenn ich schreibe:

    <!--[if IE]>
    #menuleiste {position:absolute;}
    body { scrollbar-base-color: #123456;
    ...
    ... }
    <![endif]-->

    ist in dem Fall wohl die einfachste Möglichkeit.

    Noch eine Frage: Opera 6 scheint leider ebenfalls nicht mit position:fixed zurechtzukommmen.

    Wenn es nur um Opera 6 geht gibt es z.B. eine Möglichkeit wie hier,
    Lipfert Opera 6 CSS Filter, beschrieben vorzugehen und eine CSS-Anweisung,
    in dem Fall #menuleiste {position:absolute;}, vor Opera 6 zu
    verstecken.

    Grüsse

    Cyx23

    1. Wenn es nur um Opera 6 geht gibt es z.B. eine Möglichkeit wie hier,
      Lipfert Opera 6 CSS Filter, beschrieben vorzugehen und eine CSS-Anweisung,
      in dem Fall #menuleiste {position:absolute;}, vor Opera 6 zu
      verstecken.

      Danke, das werde ich mir mal ansehen.

      Hubert

  4. Hallo Hubert,

    wahrscheinlich liege ich mal wieder voll daneben, aber ich habe ein Extra-Stylesheet für die Scrollbars gemacht und es auch jeder Seite eingebunden.

      
    <link rel="stylesheet" type="text/css" media="screen" href="/css/style1.css" />  
    <link rel="stylesheet" type="text/css" media="screen" href="/css/scrollbar.css" />  
    <link rel="stylesheet" type="text/css" media="print" href="/css/print.css" />  
    
    

    Im IE 6 SP 2, IE 5.01 (Standalone) und IE 5.5 (Standalone) funktioniert es wie gewünscht. Sollten sich die Farben mal ändern, genügt ein Einsatz am Stylesheet.

    Mit freundlichen Grüßen,
    André