+1 Daumen
1,6k Aufrufe

Wie kann ich die NavBar fixieren?


position: fixed; sprengt mir alles.

Kann man vielleicht die Bilder einfach durch die Navbar durchfliegen lassen?

von

1 Antwort

+1 Daumen
 
Beste Antwort

Zuerst: Bitte nutze das Fiddle, das ich dir hier vorbereitet hatte. Das HTML in deinem Fiddle ist nicht sauber.

Das Problem ist, dass wenn du position:fixed; an ein Element vergibst, dieses nicht mehr Teil der Anordnung der anderen Elemente ist.

Lösung:

Der Content muss einen Abstand nach oben haben via margin-top:200px; (oder anderer Pixelwert).

HTML:

<html>
<body>

  <header>
    <div class="notice-wrap">
      <p class="notice">
        Diese Webseite befindet sich im Ausbau. Informieren Sie den Administrator <a href="mailto:xxxxx">per E-Mail</a> bei Unannehmlichkeiten.
      </p>
    </div>

    <div class="ul-wrap">
      <ul class="mainmenu">
        <li><a class="active" href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
        <li><a href="#news">News</a></li>
        <li><a href="#countdown"> Countdown</a></li>
      </ul>
    </div>
  </header>

  <div class="maincontent">
    <div class="container">

      <div class="image-wrap">
        <img src="https://i.pinimg.com/736x/5f/a1/d5/5fa1d57e59c7b86b57ae330303b26cfa--silverware-holder-christmas-knitting-patterns.jpg" alt="Weihnachtsbild" class="image" />

        <div class="overlay">
          <div class="text"> Lorem </div>
        </div>
      </div>

      <div class="image-wrap">
        <img src="http://www.usclimateplan.org/wp-content/uploads/2018/11/small-christmas-tree-4k-hd-desktop-wallpaper-for-ultra-tv-authentic-hd-xmas-wallpapers-positive-3.jpg" alt="Weihnachtsbild" class="image" />

        <div class="overlay">
          <div class="text"> Lorem </div>
        </div>
      </div>

    </div> <!-- container -->
  </div>
</body>
</html>


CSS:

header {
display:block;
position:fixed;
top:0;
width:100%;
overflow:hidden;
}
.maincontent {
margin-top:180px;
}

.notice-wrap {
display:block;
padding:10px 0;
background:#333;
color:#FFF;
}
.notice {
line-height:100%;
margin:0;
}
.notice a {
color:#FFF;
}
.ul-wrap {
display:block;
text-align:right;
background: #333;
}
ul.mainmenu {
display:inline-block;
list-style-type: none;
padding: 0;
margin: 0;
overflow: hidden;
background: #333;
opacity: 0.65;
}
ul.mainmenu li {
float: left;
}
ul.mainmenu li a {
display: inline-block;
color: #f1f1f1;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
ul.mainmenu li a:hover:not(.active){
background-color: #111;
}
ul.mainmenu .active {
background-color: #4CAF50;
}


Ergebnis:



Bitte nutze zukünftig den korrigierten Code, der hier bereitgestellt wird.

von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community