2012-07-01 13 views
7

A js plugin dodaje styl, który daje mi trochę ból głowy:Przestawianie Inline Style dodane przez JS CSS

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

Więc próbowałem to:

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; 
} 

i nadal nic.

+0

mogą być powinno przesłonić z javascript – SRN

+0

Wy, tak naprawdę nie chciałem iść w dół przez przesłonięcie JS. Plus musiałbym słuchać, gdy js zostanie aktywowany, ponieważ wtyczka zajmuje trochę czasu, aby załadować już. humm miałem nadzieję, że to nie jedyna opcja, mimo że myślałem, że to było. –

Odpowiedz

9

przeciwieństwie do innych odpowiedzi, możliwe jest, aby zastąpić style inline z CSS:

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

przypuszczam, że bardzo długo nie może być selektor uderzenie element.

Miałem podobny problem z-index z wtyczką Janrain który został rozwiązany przez to:

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

W twoim przypadku, to prawdopodobnie potrzebujesz:

z-index: 0 !important; 
+1

+1 za css-triki – prakash2089

4

Styl śródliniowy przełączy wszystkie selektory. Albo zresetuj styl sam w javascript, albo załatuj wtyczkę ... nie brzmi to tak, jak dobrze napisane, i tak szczerze. :)

+1

@JosephtheDreamer styl inline ma '! Important' - sprawdź pytanie – Luca

+1

Głosuję za" łatanie wtyczki lub w ogóle jej nie używam "... – yair

+0

@ Luca - Nie jestem pewien, o co ci chodzi, szczerze. –

3

wbudowany styl zawsze zastępuje zewnętrzne i wewnętrzne css, a także fakt, że wtyczka korzysta z klauzuli !important (bardzo zła praktyka!), Wszystko razem sprawia, że ​​nie można go naprawić tylko za pomocą css. Sądzę, że będziesz musiał użyć niestandardowego js, ​​aby zastąpić ustawienia wtyczki.

Być może najlepszym sposobem byłoby sprawdzenie, czy można określić funkcję wywołania zwrotnego za pomocą wtyczki i ustawić styl zgodnie z oczekiwaniami. inna odpowiedź tutaj sugerowała, aby edytować samą wtyczkę, to jest fajne, jeśli nie planujesz jej aktualizować - w przeciwnym razie lepiej zostawić kod wtyczki takim, jaki jest, i po prostu dodaj js własnego klienta o własnym kodzie własnym

+0

ye, kłopot jest jego zewnętrzną ładowaną wtyczką, więc nie jest to opcja :(ale dzięki mimo to :) –

+0

Ye, to jest tak jak myślałem :( –

Powiązane problemy