2013-06-26 105 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