首页 > 解决方案 > 使用悬停文本为文本 HTML/CSS 着色问题

问题描述

在过去的几天里,我一直在学习 html/css,并制作了一些初学者页面。我试图在大图片上放置一个基本的悬停覆盖。悬停覆盖在图像上有一些基本文本和低不透明度灰色填充。我的问题是我认为文本出现在覆盖层后面。所以文本似乎稍微改变了颜色,但从黑色到白色并不清楚等。我希望这更具体一点,并适应指导方针。感谢帮助我的人!!

html代码

<!DOCTYPE html>
<html>
<head>
  <title>SHAYMAC</title>
  <link rel="stylesheet" href="css/style.css">
</head>
<body>
  <header id="main-header">
    <div class="container">
      <h1>SHAYMAC</h1>
    </div>
  </header>
  <nav id="nav-bar">
    <div class="container">
      <ul>
        <li><a href="https://www.google.com/">home</a> </li>
        <li><a href="#">about</a> </li>
        <li><a href="#">service</a> </li>
      </ul>
    </div>
  </nav>
  <div class="pic">
      <div class="text"><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod</p></div>
  </div>
  <footer>
  </footer>
</body>
</html>

CSS代码

body{
  background-color:#333;
  color:#fff;
  font-family:Arial, Helvetica, sans-serif;
  font-size:16px;
  line-height: 1.6em;
  margin:0;
}
.container{
  width:80%;
  margin:auto;
  overflow:hidden;
}
.pic{
  background-image: url(../images/desk.jpg);
  background-position: center ;
  min-height: 300px;
  margin-bottom:30px;
  text-align: center ;
}
.pic:hover{
  opacity:0.3;
  filter: alpha(opacity=30);
  transition: .5s ease;
}

.text{
  padding-top:135px;
  color:#000;
  opacity:0;
  position: relative;
  text-align: center;
}
.pic:hover .text{
     color:#fff;
     opacity:0.6;
     text-align: center;
     font-size:20px;
     font-weight:700;
     font-family:"Arial", Times, serif;
     padding-top:135px;
     transition: .5s ease;
     position:relative;
}
#main-header{
  background-color:#000;
  color:#fff;
  padding:10;

}
#nav-bar{
  background-color:#000;
  color:#fff;

}

#nav-bar ul{
  padding:10;
  list-style: none;

}

#nav-bar li{
  display: inline;

}

#nav-bar a{
  color:#fff;
  text-decoration: none;
  font-size:18px;
  padding-right:15px;

}

#nav-bar a: hover{
  color: #coral;
}
#showcase{
  background-image: url(../images/showcase.jpg);
  background-position: center right;
  min-height: 300px;
  margin-bottom:30px;
  text-align: center ;
}
#showcase h1{
  color: #fff;
  font-size: 50px;
  line-height: 1.6em;
  padding-top: 30px;
}

标签: htmlcsstextcolorshover

解决方案


我认为可能存在两个问题之一,一个可能是您的文本不透明度,因为它设置为 0.6 而不是 1,这就是为什么看起来有灰色叠加层的原因另一件事就像您在问题中提到的那样,它可能落后于修复这个你需要添加 z-index:10; 到您的 CSS 中的文本

希望这 2 个解决方案中的 1 个可以帮助您完成您的旅程 :)


推荐阅读