HTML和CSS中的悬停效果不正常

rqmkfv5c  于 2023-10-14  发布在  其他
关注(0)|答案(1)|浏览(153)

想知道是否有人能帮忙。我正在建设一个网站页面称为“服务”。我有一个图像列-鼠标悬停在图像上,图像应该成为半透明的中心,一个服务名称的文本框应该出现。透明度功能工作正常,但当鼠标悬停在每个图像上时,服务名称仅显示在第一个顶部图像上。下面是我的html和css代码。提前感谢:)

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>John Smith</title>
  7. <link rel="stylesheet" href="../public/css/main.css">
  8. <link rel="stylesheet" href="../public/css/services.css">
  9. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
  10. </head>
  11. <body>
  12. <img src="../public/img/logo.png" id="logo">
  13. <div class="navbar">
  14. <a class="active" href="home.html"><i class="fa fa-fw fa-home"></i> Home</a>
  15. <a href="about.html"><i class="fa fa-fw fa-id-card"></i> About</a>
  16. <a href="projects.html"><i class="fa fa-fw fa-file-code-o"></i> Projects</a>
  17. <a href="services.html"><i class="fa fa-fw fa-files-o"></i> Services</a>
  18. <a href="contact.html"><i class="fa fa-fw fa-envelope"></i> Contact</a>
  19. </div>
  20. <div style="padding-top:15%; width:100%"><h1><i>Services</i></h1></div>
  21. <hr style="width:50%">
  22. <div class="col1">
  23. <img src="../public/img/productDesign.jpg">
  24. <div class="middle">
  25. <div class="text">Product Design</div>
  26. </div>
  27. </div>
  28. <div class="col1">
  29. <img src="../public/img/graphicDesign.jpg">
  30. <div class="middle">
  31. <div class="text">Digital Graphic Design</div>
  32. </div>
  33. </div>
  34. <div class="col1">
  35. <img src="../public/img/webDev.jpg">
  36. <div class="middle">
  37. <div class="text">Web Development</div>
  38. </div>
  39. </div>
  40. <div class="col1">
  41. <img src="../public/img/genProg.jpg">
  42. <div class="middle">
  43. <div class="text">General Programming</div>
  44. </div>
  45. </div>
  46. <div class="col1">
  47. <img src="../public/img/network.jpg">
  48. <div class="middle">
  49. <div class="text">Networking and OS</div>
  50. </div>
  51. </div>
  52. </body>
  53. </html>

//CSS:

  1. .col1 {
  2. max-width: 100%;
  3. }
  4. .col1 img {
  5. height: 100%;
  6. width: 50%;
  7. opacity: 1;
  8. transition: .5s ease;
  9. backface-visibility: hidden;
  10. }
  11. .col1:hover img {
  12. opacity: 0.3;
  13. }
  14. .middle {
  15. transition: .5s ease;
  16. opacity: 0;
  17. position: absolute;
  18. top: 50%;
  19. left: 50%;
  20. transform: translate(-50%, -50%);
  21. -ms-transform: translate(-50%, -50%);
  22. text-align: center;
  23. }
  24. .col1:hover .middle {
  25. opacity: 1;
  26. }
  27. .text {
  28. background-color: black;
  29. color: white;
  30. font-size: 16px;
  31. padding: 16px 32px;
  32. }
xqkwcwgp

xqkwcwgp1#

不是100%确定你的问题。但它很可能是position: absolute
因为你从来没有为父元素定义position: relativeposition: absolute总是引用下一个活动定位的父元素。在你的例子中就是身体元素。所以绝对定位元素总是在同一个位置。
为了解决这个问题,给予每个col1position:relative的样式

相关问题