我设置了代码,因此底部有英雄形象,顶部有覆盖文字和按钮。我还有一个带z-index的导航栏但由于某种原因,我的简历中的按钮按钮不起作用。
HTML
<div id="header">
<a href="index.html"><div id="leftHeader">
<img src="assets/logo2.jpg" alt="Logo" style="width:65px;height:65px">
<h1>Amanda Farrington</h1>
</div>
<div id="nav">
<ul>
<li><a href="about.html">About</a></li>
<li><a href="#workJump">Work</a></li>
<li><a href="contact.html">Contact</a></li>
<li><a href="notes.html">Notes</a></li>
</ul>
</div>
</div>
<div id="hero">
<div id="heroImage">
<img src="assets/trees.jpg" alt="trees" style="width:100%;height:10%">
</div>
<div id="overlay">
<h2>Amanda Farrington</h2>
<h3>Graphic Artist | Web Designer</h3>
<a href="assets/resume.pdf" class="down">View Resume</a>
</div>
</div>
CSS
#header {
color: #D7DADB;
font-family: 'Roboto', sans-serif;
font-weight: 300;
font-size : 15px;
text-align: left;
width: 100%;
padding-left: 3em;
position: relative;
height: 15%;
box-sizing: border-box;
padding-top: 1em;
}
#header img
{
float: left;
padding-left: 3em;
}
h1{
width: 9em;
float: left;
padding-left: 0.5em;
color: #45CCCC;
padding-bottom: 1px;
}
#nav {
width: 50%;
margin:0;
padding:0;
text-align: right;
color: red;
font-size:20px;
float: right;
padding-right: 2em;
z-index: 99;
}
#nav ul {
padding: 1px;
}
#nav li {
display: inline;
padding: 38px;
}
#nav li a {
color: #2C3E50;
text-decoration: none;
}
#nav li a:hover {
color: #45CCCC;
}
/*----------hero image styles-------------*/
#hero{
padding-top: 25em;
width: 100%;
height: 30em;
position: relative;
z-index: -1;
}
#heroImage
{
top: 9%;
width: 100%;
z-index: 1;
position: absolute;
}
#overlay{
width: 34em;
top: -15%;
margin-left: 30%;
z-index: 2;
position: relative;
clear: left;
}
h2{
width: 100%;
position: relative;
font-family: 'Roboto', sans-serif;
font-weight: 300;
font-size: 60px;
float: center;
color: white;
opacity: 1.0;
text-shadow: 2px 2px 3px #000000;
text-align: center;
}
h3{
width: 100%;
position: relative;
font-family: 'Roboto', sans-serif;
font-weight: 300;
font-size: 30px;
color: #e5e5e5;
opacity: 1.0;
text-shadow: 2px 3px 2px #000000;
text-align: center;
}
a.down{
z-index: 100;
font-family: 'Roboto', sans-serif;
font-weight: 400;
text-decoration: none;
color: #181b1e;
background: #45CCCC;
position: relative;
padding: 0.6em 0.2em;
font-size: 1.2em;
-webkit-border-radius: 6px;
width: 30%;
position: relative;
display: block;
margin-left: auto;
margin-right: auto;
text-align: center;
}
a.down:hover{
text-decoration: underline;
color: white;
}
答案 0 :(得分:3)
因为z-index
仅适用于 NOT 设置为position: static
的元素。请记住,每个元素都默认设置为position:static
。
尝试设置为position:absolute;
或relative
您的元素。
所有其他类型的定位,例如position:fixed
,position:sticky
。
答案 1 :(得分:2)
所以我看了你的代码以及你的按钮不起作用的原因是因为ID为#hero(包含按钮)的div在身体之下是,因为它的z-index为-1。
将#hero的z-index设置为0或更高,该按钮将起作用。
#hero {
padding-top: 25em;
width: 100%;
height: 30em;
position: relative;
z-index: 0;
}
看看我为你创建的这个JS小提琴: https://jsfiddle.net/8fqwr6ca/
编辑:哦,我忘了提及 - 因为你想让图像在下面,将#hero的z-index设置为1,将#heroImage设置为0,并将覆盖设置为2.这应该是技巧(如果我认为你想要的是正确的。)