我需要帮助,这是我的代码。我已经完成了登陆页面所需的操作,但无法使导航栏粘在顶部,它只是挂在屏幕中间的上方。
不知道如何处理flex,或者在这个例子中是flex问题,还是什么? 我已经尝试过相对位置,绝对位置,弹性开始结束位置,所有内容,看着这个我已经筋疲力尽了。找不到解决方案。
这是Snipt视图
* {
margin: 0;
padding: 0;
}
body {
margin: 0;
font-family: Arial;
font-size: 17px;
color: #99b525;
line-height: 1.6;
}
#showcase {
background-image: url('img/lap-top.jpeg');
background-size: cover;
background-position: center;
background-attachment: fixed;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 0.9;
padding: 0 20px;
text-shadow: -2px 3px 2px #666;
text-align: center;
}
#showcase h1 {
font-size: 50px;
line-height: 1.2;
}
#showcase p {
font-size: 20px;
}
#showcase .header .button {
font-size: 18px;
text-decoration: none;
padding: 10px 20px;
margin-top: 20px;
border: 1px solid #777;
border-radius: 15px;
color: #a3bd3b;
-webkit-transition: background-color 0.8s ease-out;
-moz-transition: background-color 0.8s ease-out;
-o-transition: background-color 0.8s ease-out;
transition: background-color 0.8s ease-out;
}
#showcase .header .button:hover {
background: #a3bd3b;
color: #fff;
text-shadow: none;
}
.header {
border: 3px solid #7c9c28;
border-radius: 50px 25px 50px 25px;
padding: 25px;
background: #232323ad;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
/*---------------------------------------------------*/
nav {
width: 100%;
height: 60px;
background-color: transparent;
}
nav ul {
float: left;
}
nav ul li {
float: left;
list-style: none;
padding: 0px 4em;
}
nav ul li a {
font-family: Arial;
color: #222;
font-size: 20px;
padding: 24px 14px;
text-decoration: none;
}
<header id="showcase">
<nav>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">About Me</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
<div class="header">
<h1>Welcome to the beach</h1>
<p>Lorem ipsum dolar sit anet, amat der is tlen af serf nsajs jsiqo msnf kaiwks.</p>
<a href="#" class="button">Read More</a>
</div>
</header>
如何做到这一点?
答案 0 :(得分:0)
尝试删除#showcase高度。 如果你想要粘性菜单试试
position:fixed;
答案 1 :(得分:-1)
你的理由 - 内容&#39;中心&#39;导致这个问题,因为它试图将所有东西都推到中间。
如果您坚持使用flexbox方法(并且取决于您希望网页其余部分的位置),您可以将其更改为flex-start(以便所有内容都移动到页面顶部)。
#showcase {
background-image: url('img/lap-top.jpeg');
background-size: cover;
background-position: center;
background-attachment: fixed;
height: 100vh;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center; /* change to flex-start */
opacity: 0.9;
padding: 0 20px;
text-shadow: -2px 3px 2px #666;
text-align: center;
}
但是,假设您想要您的内容并且#34;欢迎来到海滩&#34;在中间,我的个人解决方案是将其添加到您的导航样式:
nav {
position:fixed;
top:0;
}