2012-12-22 12 views
5

Supponiamo di avere un elemento che è simile a questoNegate CSS: visualizzazione di elementi specifici in un elemento nascosto?

<div id="navigation"> 
    <div class="nav-block-1">....</div> 
    <div class="nav-block-2">....</div> 
    This is the offer 
    <a href="#"> Report </a> 
</div> 

Ora voglio nascondere tutti gli elementi, tra cui le textelements ma non la nav-block-2, quindi c'è un modo attraverso il quale posso fare questo? Qualcosa come usare la negazione CSS?

Ho provato utilizzando

#navigation :not(.nav-block-2) { 
    display:none; 
} 

ma questo sembra negare anche gli elementi all'interno nav-block-2? Sto facendo qualcosa di sbagliato qui? Qualche idea?

+0

'#navigation: not (.nav-block-2)' selezionerà gli elementi con 'id = navigation' e' class! = Nav-block-2'. Hai bisogno di uno spazio tra i due per indicare i bambini. – Jivings

+0

Grazie per aver segnalato che, prima lo intendeva, questo non risolve ancora i miei problemi. –

+0

Ora non stai specificando che non vuoi che i figli di nav-block-2 siano nascosti, ma solo l'elemento stesso. – Jivings

risposta

0

Prova questa

#navigation div:not(.nav-block-2) { 
    display:none; 
} 


<div id="navigation"> 
    <div class="nav-block-1">Div 1</div> 
    <div class="nav-block-2">Div 2</div> 
    This is the offer 
    <a href="#"> Report </a> 
</div> 
3

Forse non quello che volete, ma ecco quello che avrei fatto.

#navigation * { 
    display:none; 
} 
#navigation a { 
    display:inline; 
} 

EDIT: Come si dice nei commenti in tua domanda, penso che sia difficile fare una: non quando non c'è nessun tag attorno al testo.

+0

Ciò renderà l'ancora in linea, insieme al testo. Per testare #navigation * { display: nessuno; } 'stesso lascia il testo dietro. –

0

Utilizzare questa:

#navigation > *:not(.nav-block-2) { 
    display:none; 
} 

Tuttavia, non si può nascondere i nodi di testo singoli. Avrete bisogno di mettere il "Questa è l'offerta" in un paragrafo o almeno in un tag <span> per nasconderlo, o si avrebbe bisogno di nascondere l'intero #navigation che inevitabilmente contiene il .nav-block-2.

Problemi correlati