Stworzyłem niestandardowy arkusz stylów, który zastępuje oryginalny CSS dla mojego szablonu Wordpress. Jednak na mojej stronie kalendarza oryginalny CSS ma wysokość każdego zestawu komórek tabeli z !important
deklaracją:
td {height: 100px !important}
Czy jest jakiś sposób, aby to zmienić?
!important
? Jeśli arkusz CSS jest zdefiniowany po oryginalnym szablonie, powinien działać dobrze.!important
jest uważany za szkodliwy.Odpowiedzi:
Przesłanianie! Ważnego modyfikatora
!important
i nadać selektorowi większą specyficzność (dodając dodatkowy znacznik, identyfikator lub klasę do selektora)Niektóre przykłady o wyższej specyficzności (pierwszy jest najwyższy / zastępuje, trzeci jest najniższy):
Lub dodaj ten sam selektor po istniejącym:
Zrzeczenie się:
Prawie nigdy nie jest dobrym pomysłem
!important
. To zła inżynieria twórców szablonu WordPress. W sposób wirusowy zmusza użytkowników szablonu do dodawania własnych!important
modyfikatorów, aby go przesłonić, i ogranicza opcje zastępowania go przez JavaScript.Ale warto wiedzieć, jak to zmienić, jeśli czasem trzeba.
źródło
!important
. Jak zastąpienie stylu przeglądarki lub witryny ze skryptu Stylish, AdBlock lub uBlock. Lub gdy nie masz dość łatwego dostępu do podstawowego CSS, który może być bardzo skomplikowany, rozprzestrzeniać się po wielu plikach i zmieniać z czasem (i może również korzystać!important
). Jak każde narzędzie, potencjał dodatni lub ujemny zależy od tego, jak go używasz. Ludzie muszą przestać być małpami, ilekroć takie rzeczy lub goto / eval / globals / itp. wspomniano. Równie dobrze może powiedzieć „unikaj WordPress” lub „unikaj CSS”, ponieważ potencjał do „bałaganu” jest zbyt duży.Tej opcji
!important
należy używać tylko wtedy, gdy w arkuszu stylów znajdują się selektory o sprzecznej specyficzności .Ale nawet jeśli masz sprzeczną specyfikę, lepiej jest utworzyć bardziej szczegółowy selektor wyjątku. W twoim przypadku lepiej jest mieć
class
w kodzie HTML, którego można użyć do stworzenia bardziej szczegółowego selektora, który nie potrzebuje!important
reguły.Osobiście nigdy nie używam
!important
w moich arkuszach stylów. Pamiętaj, że C w CSS służy do kaskadowania. Używanie!important
to zepsuje.źródło
!important
reguła w arkuszu stylów zastąpi normalną regułę wstyle
znaczniku. Jednak w niektórych sytuacjach może się wydawać, że zastępuje je bardziej szczegółowa reguła. Na przykład, jeśli wybierzesz opcjęfont-size: 24pt !important
włączeniabody
, nadal możesz zastąpić ją funkcjąfont-size: 12pt
włączeniap
. To dlatego, że nie są przesłanianie!important
regułę, jesteś przesłanianie niejawnyfont-size: inherit
ONp
.Oświadczenie: Unikaj! Ważne za wszelką cenę.
Jest to brudny, brudny hack, ale możesz zastąpić! Ważne, bez! Ważne, używając animacji (nieskończenie zapętlonej lub bardzo długotrwałej) na nieruchomości, na którą próbujesz przesłonić importerów.
źródło
Dobra, oto krótka lekcja na temat znaczenia CSS. Mam nadzieję, że poniższe informacje pomogą!
Przede wszystkim każda część stylów określa się jako wagę, więc im więcej elementów związanych z tym stylem, tym ważniejsze jest. Na przykład
jest ważniejsze niż:
Tak więc, gdy używasz ważnego, idealnie powinno się go używać tylko wtedy, gdy naprawdę jest naprawdę potrzebne. Aby pominąć declerację, uszczegółowić styl, ale także z przesłonięciem. Patrz poniżej:
Mam nadzieję, że to pomoże!!!
źródło
!important
mogą zostać zastąpione przez ponowne zdefiniowanie .old-class-name {bla bla bla} jako .old-class-name.overrided {bla bla bla} w<style></style>
znaczniku nad komponentem, to działa dla mnieZastąp za pomocą JavaScript
Pracował dla mnie.
źródło
To też może pomóc
Spowoduje to zastąpienie dowolnego stylu wbudowanego
źródło
W każdym razie możesz zastąpić za
height
pomocąmax-height
.źródło
Chciałbym dodać odpowiedź na to pytanie, o której nie wspomniano, ponieważ próbowałem wszystkich powyższych bezskutecznie. Moja szczególna sytuacja polega na tym, że korzystam z semantycznego interfejsu użytkownika, który ma wbudowane
!important
atrybuty elementów (bardzo denerwujące). Próbowałem wszystkiego, aby to zastąpić, ale w końcu jedna rzecz zadziałała (używając jquery). Jest to następujące:źródło
attr('style', ...
zamiast tego