有没有办法使用CSS向后工作

时间:2013-04-22 19:25:45

标签: jquery html css border hyperlink

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

4 个答案:

答案 0 :(得分:1)

当下一个CSS选择器规范准备好并由浏览器实现时,这是可能的。然后就可以编写如下内容:

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

目前的工作草案提案如下:http://www.w3.org/TR/2012/WD-selectors4-20120823/#subject

答案 1 :(得分:0)

你可以让整个div可以挽救:

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

outer-class是div的类。

答案 2 :(得分:0)

你的问题的答案是:不,没有这样的方法。使用jQuery来解决这个问题,但我不建议这样做。而是重构你的标记,并记住你可以访问伪类(:悬停)不仅仅是链接(我们支持IE6的日子肯定结束了,甚至IE7支持:悬停在任意元素iirc上),所以你可以简单地做:

div:hover {
    border-color:green;
}

答案 3 :(得分: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解决方法是在具有维度作为嵌套目标的容器上使用伪元素。