2017-01-21 3 views
1

Я хочу, чтобы панель навигации находилась в нижней части окна, когда страница загружается (но она будет придерживаться вершины при прокрутке, поэтому я не могу зафиксировать ее положение). Единственное, что я выяснил, это сделать фоновый div высотой 100vh минус высота навигационной панели, но он создает эту странную белую прокладку, а не навигацию вверх.div не установлен правильно

Также, как я могу центрировать вертикальные элементы в моей .navigation (и в .tester тоже)? Логотип должен находиться на левой стороне, в то время как навигация должна быть справа.

Вот код:

html,body { 
 
    min-width:320px; 
 
    min-height:320px; 
 
    margin:0; 
 
    font-family: 'Lato', sans-serif; 
 
    text-align:center; 
 
} 
 

 
h1 { 
 
    margin-top:0; 
 
    font-size:68px; 
 
    font-weight:bold; 
 
} 
 

 
.header-wrapper { 
 
    background-image: url("images/backgrounds/typography.jpg"); 
 
    background-size:cover; 
 
    background-position:center; 
 
    min-height:calc(100vh - 6em - 100px); 
 
    text-align:center; 
 
    padding-top:6em; 
 
    margin:0 auto; 
 
    position:relative; 
 
} 
 
.tester{ 
 
    position:absolute; 
 
    width:100%; 
 
    display:flex; 
 
    bottom:50px; 
 
    margin: auto; 
 
    align-items: center; 
 
    justify-content: center; 
 
} 
 
.tester a{ 
 
    margin-left:1em; 
 
    margin-right:1em; 
 
    opacity: 0.75; 
 
} 
 
.tester a:hover{ 
 
    opacity:1; 
 
} 
 
.slider-buttons { 
 
    position:absolute; 
 
    max-width:1170px; 
 
} 
 
.typography { 
 
    bottom: 100px; 
 
    left:auto; 
 
} 
 
.navigation { 
 
    max-width:1170px; 
 
    margin:0 auto; 
 
    height:94px; 
 
    background-color:white; 
 
    bottom:0; 
 
} 
 

 
nav { 
 
    float:right; 
 
    text-transform:uppercase; 
 
} 
 
nav a { 
 
    text-decoration:none; 
 
    color:#626262; 
 
    padding:40px 20px 40px 20px; 
 
    margin:0; 
 
} 
 
nav #home:hover, #menu2:hover, #menu3:hover, #menu4:hover, #menu5:hover { 
 
    color:white; 
 
} 
 
nav #home:hover { 
 
    background-color:#dfbb42; 
 
} 
 
nav #menu2:hover { 
 
    background-color:#c43434; 
 
} 
 
nav #menu3:hover { 
 
    background-color:#508b61; 
 
} 
 
nav #menu4:hover { 
 
    background-color:#428d9e; 
 
} 
 
nav #menu5:hover { 
 
    background-color:#575fbd; 
 
} 
 

 

 
#logo { 
 
    float:left; 
 
    margin-left:30px; 
 
}
<!DOCTYPE html> 
 
<html > 
 
<head> 
 
    <meta charset="UTF-8"> 
 
    <title>random title</title> 
 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
 
    
 
    <link rel="stylesheet" href="css/style.css"> 
 
    <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet"> 
 
</head> 
 

 
<body> 
 

 

 
<section> 
 
    <div class="header-wrapper"> 
 
    <h1>Lorem ipsum sit dolor amet</h1> 
 
    <div class="tester"> 
 
     <a href="">   
 
     <div class="typography"> 
 
      <img src="images/slider-buttons/typography/typography-icon.jpg"> 
 
      <img src="images/slider-buttons/typography/typography-text.jpg"> 
 
     </div> 
 
     </a> 
 
     <a href=""> 
 
     <div class="typography"> 
 
      <img src="images/slider-buttons/typography/typography-icon.jpg"> 
 
      <img src="images/slider-buttons/typography/typography-text.jpg"> 
 
     </div> 
 
     </a> 
 
     </a> 
 
     <a href=""> 
 
     <div class="typography"> 
 
      <img src="images/slider-buttons/typography/typography-icon.jpg"> 
 
      <img src="images/slider-buttons/typography/typography-text.jpg"> 
 
     </div> 
 
     </a> 
 
     </a> 
 
    </div> 
 
    </div> 
 
</section> 
 

 

 

 
<section id="menu2"> 
 
    <div class="navigation"> 
 
    <nav> 
 
    <a href="" target="_top" id="home">Home</a> 
 
    <a href="" id="menu2">Menu 2</a> 
 
    <a href="" id="menu3">Menu 3</a> 
 
    <a href="" id="menu4">Menu 4</a> 
 
    <a href="" id="menu5">Menu 5</a> 
 
    </nav> 
 
    <img src="css/images/logo.png" alt="Logo" id="logo"> 
 
</div> 
 
</section>

ответ

1

Я думаю, что может быть сделано только с JS, так что вы можете изменить положение нав на основе окна смещения.

0

Вы можете лучше использовать jquery, чтобы сначала скрыть навигационную панель, когда страница загружается с помощью JQuery и отображает ее, когда пользователь прокручивает страницу вниз. вот пример:

$(document).ready(function(){ 
 
$(window).scroll(function(){ 
 
$('#navbar').fadeIn("slow"); 
 
    
 
setTimeout(function(){ 
 
if($(window).scrollTop()<10){ 
 
$('#navbar').fadeOut("slow"); 
 
} 
 
    
 
},100) 
 
    
 
}) 
 

 

 

 
})
#navbar{ 
 
    position:fixed; 
 
    top:0px; 
 
width:100%; 
 
height:100px; 
 
background:#eeeeee; 
 
color:white; 
 
text-align:center; 
 
    display:none; 
 
    
 
} 
 
#content{ 
 

 
height:1000px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="navbar"><h1>lorem ipsum</h1></div> 
 
<div id="content"></div>

+0

@Tomasz является то, что вы хотите !! –

Смежные вопросы