2013-06-26 74 views
3

如果我有2个元素并排侧在DOM这样的:CSS如何定位我当前元素旁边的元素?

a.button 
div.container 

我想要的目标a.button如果div.container有类div.container.fullscreen

我的想法是这样的:

div.container.fullscreen + a.button { display:none },但它不起作用。

有什么建议吗?

+0

你能写出来的HTML,所以我们可以帮你正在使用什么一个清晰的概念? – kingdamian42

+2

尝试cckck这个答案: http://stackoverflow.com/questions/1817792/css-previous-sibling-selector – Lucas

+0

是用于获得div全屏的按钮?如果是的话,那么可能会有解决方案。你的HTML标记plz :) –

回答

6

+将无法​​正常工作,因为它是下一个兄弟选择器。

你选择div.container.fullscreen + a.button将针对a如果是这样的div下一个紧接其后,例如

div.container.fullscreen 
a.button // this is now targeted 

div.container.fullscreen ~ a.button将无法​​正常工作或者为将选择后,所有的兄弟姐妹,而不是之前。

a.button // this isn't targeted. 
div.container.fullscreen 
a.button // this is now targeted 
a.button // so is this 

不幸的是,没有以前的兄弟选择器来实现你想要使用纯CSS。

0

E + F语法仅在EF之前匹配。如果像刚刚描述的那样订购它们,我认为您不能用纯CSS设计a

您可以简单地更改HTML以将fullscreen类放在containerbutton的父容器上。这样,您可以使用以下声明样式:

.fullscreen > div.container { 
    /* 
    any fullscreen modifications to be done, what used to be in div.fullscreen 
    */ 
} 

.fullscreen > a.button { 
    display: none 
} 
0

缺少真正的html。 <a>有一个href属性?它的目标是<div>

按钮没有必要被隐藏,如果它隐藏在div下面一次完全展开,它被div自己隐藏。

表单元素可以帮助在行动中看到的想法: http://codepen.io/gcyrillus/pen/otFim