Предотвращение стилей html-элементов, созданных плагином firefox, которые переопределяются таблицей стилей сайтов - PullRequest
1 голос
/ 29 сентября 2011

Я добавляю html + css на каждую страницу из моего плагина Firefox. Но эти стили иногда переопределяются таблицей стилей. Я хочу остановить это поведение.

Я знаю, что это можно решить с помощью некоторых трюков css. Например, добавив !important. Но есть ли в Firefox или Xul способ сделать это легко?

Ответы [ 3 ]

1 голос
/ 29 сентября 2011

Одного использования !important недостаточно, веб-страница может сделать то же самое и при этом переопределить ваши стили. Вы можете использовать службу стилей , чтобы зарегистрировать пользовательскую таблицу стилей. Если вы затем используете !important, веб-страницы больше не смогут переопределять ваши стили.

Обратите внимание, что пользовательские таблицы стилей всегда являются глобальными и применяются ко всем веб-страницам, а также к собственным XUL-документам браузера. Вы можете ограничить их для определенных веб-страниц, используя @-moz-document.

0 голосов
/ 29 сентября 2011

Для меня это один случай, когда вы наверняка используете !important.

При этом вы можете попытаться использовать специфичность, чтобы убедиться, что ваши стили установлены.

Итак,убедитесь, что вы нацеливаете элементы максимально точно, чтобы переопределить те стили, которые не столь специфичны.

Например, если у вас есть эта структура

<body>
    <div>
        <h1 class="something">
            <a href> 

Стили сайта могут быть нацелены на

h1.something a{

Вы должны стремиться сделать это

body div h1.something a{

, который является более конкретным и переопределяет вышеуказанные стили.

Другая вещь, которую вы можете сделать, это append ваши стили непосредственно перед </head>, что сделает их последними в каскадеи, если они равны, будут применены.

0 голосов
/ 29 сентября 2011
#MEGA_PLUNGIN a {}
#MEGA_PLUNGIN span {}
#MEGA_PLUNGIN div {}
#MEGA_PLUNGIN table {}
...

Не лучшее решение, но правильное ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...