【问题标题】:Make a element visible when another element is hovered当另一个元素悬停时使一个元素可见
【发布时间】:2014-10-23 08:11:44
【问题描述】:

我试图让文字在悬停在图像下方时显示在图像下方,但语法不正确。我开始学习 CSS,所以我可能没有遵循最佳实践,请指出如何更好地解决我的问题!

<div class="X">
    <span class="Y">
        <a href="XYZ">
            <span class="A"></span>
        </a>
        <span class="A-element">A</span>
    </span>
    <span class="Y">
        <a href="XYZ">
            <span class="B"></span>
        </a>
        <span class="B-element">B</span>
    </span>
</div>

我的 CSS 如下所示:

.X { 
  font-size: 5em;
}

.Y {
  margin-left: 0.5em;
  margin-right: 0.5em;
}

.A-element {
  display: none;
}

.B-element {
  display: none;
}

.A {
  color: #fff;
}

.B {
  color: #fff;
}

.A:hover .A-element {
    color: #ccc;
    display: block;
}

.B:hover .B-element {
    color: #ccc;
    display: block;
}

【问题讨论】:

标签: html css


【解决方案1】:

使用 CSS 无法将鼠标悬停在 .A 上更改 .A-element 的样式,因为要做到这一点,我们必须首先选择 .A 的父级,而 CSS 没有父级选择器。

然而,可以将鼠标悬停在.Y 元素内的a 元素上,然后使用+ adjacent sibling combinator 选择它旁边的元素:

.Y a:hover + span + span {
    color: #ccc;
    display: block;
}

如您所见,我根本不需要使用 .A-element.B-element 类,因为这将适用于您的 .A-element.B-element 元素。


简化代码片段

.Y a:hover + span {
  background: tomato;
  color: #fff;
  padding: 0 20px;
}
<div class="X">
    <span class="Y">
        <a href="XYZ">
            <span class="A">Hover here</span>
        </a>
        <span class="A-element">A</span>
    </span>
    <span class="Y">
        <a href="XYZ">
            <span class="B">Hover here</span>
        </a>
        <span class="B-element">B</span>
    </span>
</div>

【讨论】:

  • 上面的代码有效,但它弄乱了我网页上元素的定位。有什么方法可以为A“保留”Hover here 下面的空间,这样东西就不会移动?
  • @user3666471 您可以设置一个margin-bottom,然后在您的元素悬停时将其删除。
  • @user3666471 - 你也可以让它成为一个带有过渡的功能,这取决于你想要实现的目标。 Here is an example
【解决方案2】:

您可以在父元素上使用鼠标悬停。例如

.Y:hover .A-element {
    color: #ccc;
    display: block;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多