1

我想知道是否有办法在 CSS 中向后工作。我的意思是说我在 div 标签周围有一个边框,然后在该 div 标签内是一个具有悬停功能的链接。有没有办法在该链接悬停时更改 div 标签上的边框颜色,或者这只能使用 jquery 实现?

4

4 回答 4

1

当下一个 CSS 选择器规范准备好并由浏览器实现时,这将成为可能。然后就可以写出类似的东西:

!div a:hover { border-color: red; }

当前的工作草案提案在这里:http ://www.w3.org/TR/2012/WD-selectors4-20120823/#subject

于 2013-04-22T19:37:02.580 回答
0

有点可能。这是一个例子:http: //jsfiddle.net/hL3Ta/

<div>
    <a href="#">Some link</a>
</div>

..

div {
    display: inline-block;
    border:5px solid black;
}
div:hover {
    border: 5px solid red;
}

a {
    display: inline-block;
    width: 100px;
    height: 100px;
}

正如其他答案中提到的,块模型的性质目前不允许选择器反向操作。纯 CSS 解决方法是在将尺寸作为嵌套目标的容器上使用伪元素。

于 2013-04-22T19:31:50.307 回答
0

您可以使整个 div 悬停:

.outer-class:hover {
  border-color: some-color;
}

outer-classdiv 的类。

于 2013-04-22T19:29:07.783 回答
0

你的问题的答案是:不,没有这样的方法。使用 jQuery 来实现这一点还是有点过头了,我不建议这样做。相反,重构您的标记并记住您可以访问伪类 (:hover) 不仅用于链接(我们支持 IE6 的日子已经结束,甚至 IE7 也支持 :hover 任意元素 iirc),因此您可以简单地执行以下操作:

div:hover {
    border-color:green;
}
于 2013-04-22T19:30:04.410 回答