Rolf: fixe navigation

Beitrag lesen

Hi,

Das Problem,das mich nun schon einige Tage beschäftigt ist,ich möchte auf einer Website,(zu sehen auf http://www.rsknoepfel.ch)ein fixes Navigations-Div.War bis jetzt auch keine grosse Sache,ausser im ie7,den bringe ich einfach nicht zufrieden.Dieser sollte ja fixed div's unterstüzen,tut es aber hier nicht.Wenn ich per css position fixed eingebe ist die Navigation gar nicht zu sehen,mit dem eingefügten "conditional comment für ie7" ist sie zwar zu sehen,aber dafür nicht fix.

Derzeit bindest du ueber Conditional Comments fuer IEs folgende zwei Stylesheets ein:

<!--[if gt IE 6]>
  <link href="stylesheet/ie7.css" rel="stylesheet" type="text/css" />
  <![endif]-->

<!--[if lt IE 7]>
  <link href="stylesheet/ie6.css" rel="stylesheet" type="text/css" />
  <![endif]-->

Diese sind beide inhaltlich identisch, und darin hast du folgendes stehen:

* html div#navigation {position: relative;
top:expression(eval(document.compatMode &&
document.compatMode=='CSS1Compat') ?
documentElement.scrollTop : document.body.scrollTop);}

Gut, das emuliert fixe Positionierung per JavaScript-Expression[1] fuer IE <= 6 - fuer den IE 7 wirkt der Star-html-Hack nicht mehr.

Dem IE 7 bleibt damit also nur noch,

#navigation {
position: relative;
umzusetzen - dass da nix mit fixed is', sollte klar sein.

Btw:

* html,* html body{
    background: #FFF8E4 url(denkste Pfeiffe) fixed;

  • das taet'sch lassen - damit bekommst du fuer jeden Aufruf einen 404 Not Found-Fehler im Log (ich nehme mal an, dass es keine Ressource mit diesem Namen gibt?). Wenn du den IE <= 6 kein Hintergrundbild geben willst, dann nutze lieber background-image:none.

[1] Es gibt uebrigens auch einen Workaround, der ohne JavaScript auskommt. Je nach Seitenaufbau manchmal nicht unproblematisch - insb., wenn fixierte Elemente ueber die ganze Breite gehen sollen, wird's mit den Scrollbalken-Maszen problematisch - aber vielleicht moechtest du ihn dir ja trotzdem mal anschauen.

MfG ChrisB

Danke für die Antwort Chris

Dem Conditional Comment für ie6 habe ich nun ein Background-Gif mitgegeben, ohne flackert die Navigation beim scrollen.

Den Conditional Comment für ie7 habe ich entfernt und ie7 sieht nun wieder das Standart-CSS. Aber eben, jetzt zeigt er mir wieder überhaupt kein Navi an. Seit Tagen sitze ich nun vor Google und versuche herauszufinden, was ich im CSS wohl falsch geschrieben habe.

Der Tipp mit dem Workaround ist gut, den werde ich mir genauer ansehen.

Gruss Rolf