2013-07-15 145 views
0

我遇到了一个奇怪的CSS问题。CSS悬停选择器不工作

这可能是因为我不使用类,而是直接使用标签的名称,但我想知道问题是什么,所以我不重复。

我的HTML是这样的:

<div class='container'> 
    <div class='top'> 
     <a href='href.com'>hover here..</a> 
    </div> 
    <div class='bottom'> 
     <a>..and this should change</a> 
    </div> 
</div> 

什么,我试图用CSS:

.top a:hover .bottom a 
{ 
    color:#f00; /* does not work */ 
} 
.top a:hover .container 
{ 
    background-color:#f00; /* does not work */ 
} 
.top a:hover 
{ 
    color:#f00; /* works */ 
} 

那么,为什么在其他元素调用不工作?

还是因为我是从小孩打电话给父母的?

如果是这样,我该如何使它工作?

谢谢!

+0

你了解CSS选择器如何工作是有缺陷的。您不能选择备份层次结构。 – jmoerdyk

+0

@jmoerdyk是的我的第一个例子是试图选择父母,我现在明白了。但第二个呢?即选择兄弟姐妹?这是不可能的吗? – jeff

回答

1

你的CSS是错误的,你忘了逗号:

.top a:hover, .bottom a:hover 
{ 
    color:#f00; 
} 
.top a:hover, .container:hover /* Comma was missing here */ 
{ 
    background-color:#f00; 
} 
+0

如果我添加逗号,.bottom a和.container将始终为#f00,我错了吗? – jeff

+0

我没有得到,你只需要悬停。我已经更新现在应该没问题。请尝试更好地解释你想达到什么 –

+0

我试图改变.bottom,当.top a被徘徊时。 – jeff