Wiedereinmal diese leidliche Positionierung

  • Es tut mir echt leid dass ich sowas fragen muss aber CSS Positionierung und ich sind keine Freunde und werden es wohl auch nichtmehr.


    Ich habe einen header, der sich über die gesamte breite des Browsers erstreckt. Diesem folgt ein div Container, in dem sich der Content befindet.
    Die Idee ist dass der header immer an der Oberkante des Browsers bleibt und der Content beim scrollen hinter dem header hinweg scrollt. Der header hat zudem noch eine Deckkraft von 90%, sodass man den dahinter weg scrollenden Content leicht hindurch sieht. Hierfür habe ich natürlich den header fixed positioniert und das mit dem dahinter weg scrollen klappt einwandfrei.
    Mein Problem:
    Wenn man die Seite aufruft, ist der Content gleich zu Beginn hinter dem header, also hinter dem leicht transparenten Teil. Das soll so natürlich nicht sein. Der Content soll sich unter dem header befinden und erst beim scrollen hinter dem header verschwinden.
    Ich habe schon alle möglichen Positionierungen an allen möglichen Elementen, mit verschiedensten margins ausprobiert, nichts funktioniert.


    Wie würdet ihr ein Element nach einem "position: fixed" Element positionieren, sodass es sich nicht schon beim Aufrufen der Seite überlagert.
    Kleiner zusätzlicher Haken: Die Seite soll responsive sein und wenn ich es mit einem margin versuche soweit nach unten zu schieben bis es unter dem header ist, habe ich das Problem, sobald ich die Browsergröße verändere verschiebt sich alles und passt nicht mehr.


    Danke schonmal im Vorraus.

  • Du musst dem Content der nach dem Header folgt einen Abstand in der Grösse der Headerhöhe mitgeben. Entweder margin-top oder padding-top verwenden, je nach Anwendungsfall.


    Das ist nur grob der Ansatz. Wenn es sich verschiebt wie du sagst, dann packe die Seite auf einen Webspace online und teile uns den Link mit, damit wir uns das mal ansehen können.


    Ansonsten ist noch zu sagen, immer den Validator verwenden um Fehler im anzeigen zu lassen: http://validator.w3.org/unicorn/

  • :o


    Ok, hier mein markup:


    Und hier mein stylesheet:

  • bei body nimmste noch ein margin-top:10em;
    Bei Header musste noch die Positionsangaben mit angeben: top:0;


    Code
    1. @media screen and (max-width: 1400px){
    2. .gallery img{width: 25%;}
    3. }


    wasn das?



    EDIT: wenn du spezielle Schriftarten verwenden willst musst du diese in der css einbinden,
    sonst wird sie beim Besucher nicht dargestellt, wenn er sie nicht installiert hat.


    https://www.google.com/search?…ont%20einbinden&hl=de

  • bei body nimmste noch ein margin-top:10em;
    Bei Header musste noch die Positionsangaben mit angeben: top:0;


    Danke funktioniert wunderprächtig, da wäre ich aber auch so schnell nich drauf gekommen.


    Code
    1. @media screen and (max-width: 1400px){
    2. .gallery img{width: 25%;}
    3. }


    wasn das?


    Das is dafür da, das Design je nach Bildschrimgröße anzupassen. Bis zu einer Bildschirmbreite von 1400px werden 4 Bilder pro Reihe angezeigt. Darüber hinaus jemeils 5 Bilder pro Reihe.



    EDIT: wenn du spezielle Schriftarten verwenden willst musst du diese in der css einbinden,
    sonst wird sie beim Besucher nicht dargestellt, wenn er sie nicht installiert hat.


    https://www.google.com/search?…ont%20einbinden&hl=de


    Ja, für das Beispiel war ich jetzt zu faul die Typo mit einzubinden, weil sie für die funktionalität nicht wichtig ist. Ich bin mir aber über die Problematik bewusst, danke ;)