2013-04-22 53 views
1

我想知道是否有办法在CSS中反向工作。我的意思是说,我有一个围绕div标签的边框,然后在该div标签中是一个具有悬停功能的链接。有没有办法改变div标签上的边框颜色,当这个链接悬停或这是唯一可以实现的使用jQuery?有没有办法使用CSS向后工作

+0

从技术上讲,你将鼠标悬停在DIV如果你将鼠标悬停在链接... – cimmanon 2013-04-22 19:39:23

+0

但是你并不总是在链接上悬停如果悬停在分区.. – Dan 2013-04-22 19:41:55

+0

是的div改变颜色,当我把鼠标悬停在它上面,然后里面是一个链接。我希望该div在链接悬停时更改颜色。 – 2013-04-22 19:42:47

回答

0

可以使整个DIV hoverable:

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

outer-class是类的div。

0

你的问题的答案是:不,没有这样的方式。使用jQuery来实现这个过度杀伤力,我不会推荐。相反,重构你的标记,并记住你不仅可以访问伪类(:悬停),不仅可以用于链接(我们支持IE6的日子已经定义完毕,甚至IE7支持:悬停在任意元素iirc上),所以你可以简单地做:

div:hover { 
    border-color:green; 
} 
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的解决方法是使用尺寸为嵌套目标的容器上的伪元素。

1

当下一个CSS选择器规范准备好并由浏览器实现时,这将是可能的。然后,将有可能写类似:

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

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

+1

这会很好。 – 2013-04-22 19:43:07