2014-05-10 138 views
1

我一直在尋找一段時間,我似乎無法找到我的問題的答案。顯示隱藏與CSS只div(沒有輸入,也沒有tabindex)

我需要使用CSS來執行隱藏/顯示功能。當單擊header.title時,我需要顯示div,再次單擊它時,它應該消失。 對於某些(出於主題)原因,我無法編輯HTML,所以輸入或tabindex不是一個選項。

<aside> 
    <header class="title"> 
    <h2>Title</h2> 
    </header> 

    <div class="content"> 
    Some information here 
    </div> 
</aside> 

我甚至不知道這是否可能,如果沒有,請告訴我。

+0

這聽起來像JS或jQuery的,我查了CSS的解決方案但是,真的沒有辦法解決。 –

+0

使用':target'僞(以及一個可調焦的鏈接和一個目標'id'),可以隱藏/顯示一個元素,但這仍然不是一個切換(點擊兩次不會做相反的操作點擊一次,它會做同樣的事情)。一個'

回答

1

您不能僅使用CSS永久性更改DOM元素。因此,如果用戶將他們的手指從鼠標移開,則樣式將恢復。

+0

我想你是對的,因爲沒有提供其他選項。 – Monica

1

所有你能做的就是:hover CSS僞類

<aside> 
    <header class="title"> 
    <h2>Title</h2> 
    </header> 

    <div class="content"> 
    Some information here 
    </div> 
</aside> 

風格:

div[class=content]{ 
    display:block; 
} 

header.title:hover + div.content{ 
    display:none; 
} 
1

我認爲這是你在找什麼,但你不能只用CSS做。

As user1167442表示您不能僅使用CSS永久性更改DOM元素。在這裏,你需要的JQuery

$("div.content").hide(); 
    $("header.title").click(function(){ 
     $("div.content").toggle(); 

    }); 

演示:http://jsfiddle.net/hsakapandit/HuuLD/

注:不要忘了包括jQuery庫文件

+0

謝謝,但我無法使用Jquery:S我只需要CSS。 – Monica