2010-07-15 19 views
5

ho un a:hover per tutti i miei link sulla mia pagina:Sovrascrivere i css per un div specifico?

a:hover { 
    background-color: blue; 
    text-decoration: underline; 
    color: black; 
} 

ma ma ci sono quelli specifici in un div che io non voglio niente che accada quando si passa su di loro, in modo da posso fare qualcosa come questo?

#what_we_offer a:hover { 
    background-color: none: 
    text-decoration: none; 
    color: none; 
} 

in pratica non voglio che faccia nulla di quanto sopra quando si posiziona su di essi link specifici.

grazie

risposta

6
#what_we_offer a:hover { 
    background-color: transparent; 
    text-decoration: none; 
    color: none; 
} 

utilizzare trasparente invece di nessuno, che funziona.

grazie per tutte le risposte.

9

Sì che dovrebbe funzionare bene, anche se è probabile che non si vuole impostare none a meno che davvero non si vuole qualsiasi stile ... impostare le colori di base, ecc dovrebbe funzionare bene.

#what_we_offer a:hover { 
    background-color:#fff;/*presuming was originally white*/ 
    text-decoration:none; 
    color:#000;/*presuming was originally black*/ 
} 

PS Io non sono sicuro se fosse solo un errore di battitura, ma la linea originale background-color:none: è stato chiuso con due punti rispetto a un punto e virgola problemi in tal modo avrebbe causato.

+0

che non ha funzionato per me, la dose "nessuna" attribuita non funziona. –

+0

Per prima cosa è il tuo "override" per "#what_we_offer" dopo il default: al passaggio del mouse o prima? Secondo, se usi il mio codice sopra, cosa ottieni? – scunliffe

3

Invece di utilizzare id con l'utilizzo di CSS Classe

/* for link where you want to change color on hover */ 
    .Link a:hover { 
     background-color: none: 
     text-decoration: none; 
     color: red; 
    } 

/* for link where you dont want to change color on hover */ 
    a:hover { 
     background-color: none: 
     text-decoration: none; 
     color: none; 
    } 
+1

come per 'id' contro' class' - tutto dipende se @Mo ha 1 div speciale o una raccolta di div speciali. – scunliffe

+0

il "nessuno" attribuito per dose di colore di sfondo non funziona –

+0

sì è un div speciale ed è per questo che ho usato l'ID. –

0

Sì ma attenzione che a: hover {} dovrebbe venire prima di #what_we_offer a: hover {}.

+2

Dato che hanno specificità diverse, l'ordine in realtà non ha importanza. – Quentin

+0

@David Dorward: grazie per aver notato questo. – ttchong

-4
a:hover { 
    background-color: none: 
    text-decoration: none; 
    color: none; 
} 

Questo è corretto.

Se desideri solo determinata pagina, aggiungere

body-id a:hover { 
    background-color: none: 
    text-decoration: none; 
    color: none; 
} 
+0

Non è corretto (nessuno non è un colore), vuoi usare un selettore di id, non un selettore di tipi, la domanda dice * div * not * page * e non hai formattato il tuo codice. – Quentin

+0

La tua risposta non è corretta. Se ha un colore di sfondo predefinito, una decorazione di testo, ecc. Per quel div, svanirà quando il mouse viene spostato su quel div. Tutte queste proprietà devono essere impostate sulle proprietà predefinite per quel div nel blocco "a: hover". –

0

Penso che se si fa il contrario di quello che ha detto Pranav, si può avere meno modifiche i, e

 


/* for link where you ***DO*** NOT want to change color on hover */ 
    .Link a:hover { 
     background-color: none: 
     text-decoration: none; 
     color: red; 
    } 

/* for link where you want to change color on hover */ 
    a:hover { 
     background-color: none: 
     text-decoration: none; 
     color: none; 
    } 

quindi è necessario aggiungi classe per un href in alcuni DIV particolari

-1

È possibile utilizzare selettori CSS. La cosa migliore che penso che tu possa fare è usare il selettore not. Lasciate che vi mostri un esempio:

<html> 
     <head> 
       <style type="text/css"> 
         a:not([not_custom]){ 
           background: #00FF00; 
           color: #FF0000; 
         }      
       </style> 
     </head> 
     <body> 
       <div> 
         <a href="">Test 1</a> 
         <a href="" not_custom="">Test 2</a> 
         <a href="">Test 3</a> 
         <a href="" not_custom="">Test 4</a> 
         <a href="">Test 5</a> 
         <a href="" not_custom="">Test 6</a> 
       </div> 
     </body> 
</html> 

Come potete vedere, sto definendo lo stile a mediante il selettore not. Quindi, sto dicendo che voglio mettere uno sfondo verde e un colore rosso a tutti gli a che non hanno l'attributo not_custom. Come risultato di ciò, è possibile vedere che Test 1, Test 3 e Test 5 avranno il style definito e Test 2, Test 4 e Test 6 saranno normali, senza lo stile.

NOTA: è possibile definire l'attributo desiderato. Non è necessario denominare not_custom. Può essere chiamato whatever se lo si desidera.

+0

Non creare attributi quando si scrive HTML (a meno che non si stia scrivendo HTML5 (anche se è ancora una bozza) e si rispettano le sue limitazioni su quali attributi personalizzati possono essere denominati (cosa che non si fa). no' non è ancora ampiamente supportato abbastanza per un uso serio ancora (specialmente se si finisce con testo illeggibile se fallisce, cosa che potrebbe essere il caso in questa situazione) – Quentin

1

Quando si desidera eseguire l'override dei valori CSS, è possibile eseguire due operazioni: aggiungere nuove dichiarazioni CSS dopo quella che si desidera sovrascrivere o utilizzare "! Importante" .. Così per il vostro problema si può provare:

a.reset:hover { 
background-color: #FFFFFF; 
text-decoration: none; 
color: #000000; 
} 

.. e poi aggiungere i link che si desidera ignorare questa nuova classe:

<a href="#" class="reset">Link with reset</a> 

Ma questa classe CSS deve essere dichiarato dopo aver normale "un "dichiarazioni di tag o questo non funzionerà.

Un altro modo è quello di utilizzare! Importante ma consiglio di non abusare di questo. Ma per superiori è il modo più veloce e più sicuro per essere sicuri che funzionerà:

a.reset:hover { 
background-color: #FFFFFF !important; 
text-decoration: none !important; 
color: #000000 !important; 
} 

.. e questo è possibile aggiungere in qualsiasi punto del file CSS e qualsiasi legame con il "Reset" classe otterrà quegli stili: sfondo bianco, nessuna decorazione di testo e testo nero.

Oh e per lo sfondo si prova: sfondo: nessuno; e cancellerà tutti gli stili di sfondo .. background-color, background-image, ecc.

Come nota a margine .. gli ID sono usati per fare riferimento a un singolo elemento e devono essere univoci .. e le classi sono usate per fare riferimento a più elementi . Molteplici usi dello stesso id come usereste una classe css .. potete frenare javascript e non convaliderà il vostro codice HTML.