html - 将鼠标悬停在图像上似乎无法正常工作

标签 html css

我的一些内容是隐藏的,我希望它在悬停时显示。重点是我需要它仅适用于图像,而不是整个文本。 下面是我的 html:

.img-info {
  width: 14px;
  height: 14px;
}

#info-1 {
  visibility: hidden;
}

#label-1:hover #info-1 {
  visibility: visible;
}

#info-2 {
  visibility: hidden;
}

#info-container-2:hover #info-2 {
  visibility: visible;
}

#info-3 {
  visibility: hidden;
}

#info-img-3:hover #info-3 {
  visibility: visible;
}

#info-4 {
  visibility: hidden;
}

#info-img-4:hover #info-4 {
  visibility: visible;
}
<form>
  <li>
    <input id="item-1" type="checkbox"></input>
    <label for="item-1" id="label-1">Text 1 
          <span id="info-container-1" class="info-container">
          <img src="info-tag.png" alt="information icon" class="img-info"/></span> 
          <span id="info-1">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-2" type="checkbox"></input>
    <label for="item-2">Text 2
          <span id="info-container-2" class="info-container">
          <img src="info-tag.png" alt="information icon" class="img-info"/></span> 
          <span id="info-2">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-3" type="checkbox"></input>
    <label for="item-3">Text 1 
          <span id="info-container-3" class="info-container">
          <img src="info-tag.png" alt="information icon" class="img-info"/></span> 
          <span id="info-3">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-4" type="checkbox"></input>
    <label for="item-4">Text 1<span id="info-4">Text 1 Explication</span></label>
    <img src="info-tag.png" alt="information icon" class="img-info" />
  </li>
</form>

代码显示了不同的方法 - 第一个有效,但它引用整个标签,其他方法应该在用户将鼠标悬停在图像上时显示隐藏文本,但它们不起作用,我想知道为什么。

我已尽力将其保持在尽可能低的水平。 如果您能为我指明正确的方向,我将不胜感激。

最佳答案

这里的文本仅在您将鼠标悬停在图像上时出现。 您需要使用 adjacent sibling combinator解决隐藏文本。

.img-info {
  width: 14px;
  height: 14px;
}

#info-1,
#info-2,
#info-3,
#info-4 {
  visibility: hidden;
}

#info-container-1:hover+#info-1,
#info-container-2:hover+#info-2,
#info-container-3:hover+#info-3,
#info-container-4:hover+#info-4 {
  visibility: visible;
}
<form>
  <li>
    <input id="item-1" type="checkbox">
    <label for="item-1" id="label-1">Text 1 
          <span id="info-container-1" class="info-container">
          <img src="https://via.placeholder.com/15x15" alt="information icon" class="img-info"/></span> 
          <span id="info-1">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-2" type="checkbox">
    <label for="item-2">Text 2
          <span id="info-container-2" class="info-container">
          <img src="https://via.placeholder.com/15x15" alt="information icon" class="img-info"/></span> 
          <span id="info-2">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-3" type="checkbox">
    <label for="item-3">Text 1 
          <span id="info-container-3" class="info-container">
          <img src="https://via.placeholder.com/15x15" alt="information icon" class="img-info"/></span> 
          <span id="info-3">Text 1 Explication</span></label>
  </li>
  <li>
    <input id="item-4" type="checkbox">
    <label for="item-4">Text 1 <span id="info-container-4" class="info-container">
          <img src="https://via.placeholder.com/15x15" alt="information icon" class="img-info"/></span> 
          <span id="info-4">Text 1 Explication</span></label>
  </li>
</form>

关于html - 将鼠标悬停在图像上似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52535422/

相关文章:

html - 对转换元素内的不透明度过渡产生负面影响

javascript - 在我的 PHP 页面中加载图像时出现问题

html - 如何在html bootstrap 4中使col-md-3在右侧对齐

javascript - jQuery 的 .hide() 和设置 CSS 显示 : none 的区别

HTML if 语句

html - 为什么 bootstrap 中的 media-body 类宽度为 10,000px 而 media 类 overflow hidden 和缩放 1?

javascript - 使用javascript获取gridview中复选框选中行的相应行值

html - css 文件路径正确,css 代码有效,但不起作用

css - 如何设置我的 d3 SVG 矩形的背景类?

python - Django 表单不显示