2012-07-01 20 views
7

un JS plugin è per esprimere uno stile che mi sta dando un po 'di mal di testa:Override stili inline aggiunti tramite JS CSS

element.style { 
    z-index: 100 !important; 
} 

così ho provato questo:

html body div#shell div#shellContent div#bottomPart div#rightCol div.containerBox  
div#embedContainer div#janrainEngageEmbed div.janrainContent div#janrainView 
div.janrainHeader[style] { 
    z-index: 1 !important; 
} 

e ancora niente.

+0

può essere si dovrebbe sostituire con javascript – SRN

+0

ye, non volevo davvero scendere lungo il percorso di JS override. In più dovrei ascoltare quando js viene attivato mentre il plugin richiede un po 'di tempo per caricarlo. humm speravo che questa non fosse l'unica opzione anche se pensavo che fosse. –

risposta

9

Contrariamente alle altre risposte, è possibile ignorare gli stili inline con i CSS:

http://css-tricks.com/override-inline-styles-with-css/

direi che la lunghissima selettore non potrebbe colpire l'elemento.

Ho avuto un simile problema di z-index con il plugin Janrain che è stato risolto da questo:

#janrainEngageEmbed > div[style] { 
    z-index: 0; 
} 

Nel tuo caso, hai probabilmente bisogno:

z-index: 0 !important; 
+1

+1 per i css-trucchi – prakash2089

4

Lo stile in linea salterà tutti i selettori. O resettate lo stile da soli in javascript o applicate il plug-in ... non sembra particolarmente scritto, a dire il vero. :)

+1

@JosephtheDreamer lo stile in linea ha '! Important' - controlla la domanda – Luca

+1

Io voto per" patch il plugin o non usarlo affatto "... – yair

+0

@Luca - Non sono sicuro di quale sia il tuo punto, Ad essere onesti. –

3

lo stile in linea sostituisce sempre i css esterni e interni, oltre al fatto che il plug-in utilizza la clausola !important (pratica molto cattiva!), Tutti insieme rende impossibile risolverlo solo con css. Suppongo che dovrai usare alcuni js personalizzati per sovrascrivere le impostazioni del plugin.

forse il modo migliore sarebbe verificare se è possibile specificare una funzione di callback con il plugin e impostare lo stile come si desidera. un'altra risposta qui suggerita di modificare il plugin stesso, che è bello se non si pianifica di aggiornarlo mai, altrimenti è meglio lasciare il codice del plugin così com'è e aggiungere semplicemente alcuni js personalizzati di

+0

ye, il problema è che è un plugin caricato esternamente quindi non lo faccio come opzione :(ma grazie comunque :) –

+0

Sì, questo è come pensavo :( –