css < a>标签与文本覆盖在图像上,悬停效果取消图像不透明度时,文本是悬停

8iwquhpp  于 2023-10-21  发布在  其他
关注(0)|答案(2)|浏览(107)

(hard在标题中提到这个问题)
我有绝对标题覆盖图像的链接。我想改变图像的不透明度时,任何链接的一部分是悬停。我的问题是,当我悬停在覆盖的文本上时,它忽略了应用于图像的:hover状态。

  1. .galleryItem img {
  2. width: 100%;
  3. height: 100%;
  4. object-fit: contain;
  5. border-radius: 10px;
  6. filter: opacity(.7);
  7. transition: .3s;
  8. }
  9. .galleryItem a,
  10. h4 {
  11. color: #f5f9e9;
  12. text-decoration: none;
  13. }
  14. .galleryItem img:hover {
  15. filter: opacity(1);
  16. }
  17. .galleryItem h4 {
  18. text-align: center;
  19. position: absolute;
  20. top: 41%;
  21. left: 50%;
  22. font-size: 1.3em;
  23. transform: translate(-50%, -50%);
  24. vertical-align: middle;
  25. z-index: 10;
  26. text-shadow: 0px 0px 10px black;
  27. }
  1. <div class="galleryItem">
  2. <a href="#">
  3. <h4>The Combinator</h4>
  4. <img src="img/fwaz.png">
  5. </a>
  6. </div>
  • 我不希望h4标签的不透明度发生任何变化。但同样,我确实需要悬停h3来保持我应用于悬停img的相同更改。

我根本不知道如何补救这个问题。

slsn1g29

slsn1g291#

在h4上尝试pointer-events: none;

  1. .galleryItem {
  2. height: 180px;
  3. border: 1px solid black;
  4. position: relative;
  5. }
  6. .galleryItem img {
  7. width: 100%;
  8. height: 100%;
  9. object-fit: cover;
  10. object-position: center;
  11. filter: opacity(.7);
  12. transition: .3s;
  13. }
  14. .galleryItem a, h4 {
  15. color: #f5f9e9;
  16. text-decoration: none;
  17. }
  18. .galleryItem img:hover {
  19. filter: opacity(1);
  20. }
  21. .galleryItem h4 {
  22. text-align: center;
  23. position: absolute;
  24. top: 50%;
  25. left: 50%;
  26. font-size: 1.3em;
  27. transform: translate(-50%, -50%);
  28. vertical-align: middle;
  29. z-index: 10;
  30. text-shadow: 0px 0px 10px black;
  31. pointer-events: none;
  32. margin: 0;
  33. }
  1. <div class="galleryItem">
  2. <a href="#">
  3. <h4>The Combinator</h4>
  4. <img src="https://picsum.photos/1000/360">
  5. </a>
  6. </div>
展开查看全部
mfuanj7w

mfuanj7w2#

在父对象上使用悬停

悬停规则应该在 Package 所有内容的父级上。当parent被悬停时,子元素被样式化,在本例中是<img>。父级可以是galleryItema,以哪个更好。

  1. .galleryItem:hover img {
  2. filter: opacity(1);
  3. }

相关问题