Лучший способ переопределить плагин CSS?

В настоящее время я использую CSS-специфика для переопределения стилей плагина. Я предпочитаю это для редактирования плагина, так как он уменьшает головные боли при обновлении.

Было бы неплохо, если бы моя таблица стилей загружалась после плагинов, так что я должен был быть только конкретным, а не больше. Это сделало бы мои таблицы стилей намного красивее.

35 голосов | спросил Mild Fuzz 7 +04002010-10-07T14:54:30+04:00312010bEurope/MoscowThu, 07 Oct 2010 14:54:30 +0400 2010, 14:54:30

7 ответов


19

Как вы полагаете, самый элегантный подход - это когда переопределения CSS загружаются после того, как CSS вводится плагинами. Этого очень легко достичь - вам просто нужно убедиться, что ваш header.php вызывает wp_head () , прежде чем ссылается на вашу таблицу стилей:

  & л; головка & GT;
    & lt;! - здесь используется обычная преамбула ->

    & lt;? php wp_head (); ? & GT;

    <link rel = "stylesheet" href = "& lt;? php bloginfo ('stylesheet_url');>> type = "text /css" /& gt;
& Lt; /головка & GT;
 
ответил Tim Coulter 8 Jpm1000000pmSat, 08 Jan 2011 19:08:02 +030011 2011, 19:08:02
19

Существует несколько способов, которыми плагины могут обрабатывать CSS.

  • лучший случай: плагин очереди CSS и предоставляет возможность отключить его (отключить его, скопировать CSS-код в таблицу стилей и быть счастливым);
  • Хороший случай: плагины перехватывают функцию, которая ставит в очередь стиль (отцепляющая функция, при необходимости привязывай себя к модам);
  • обычный случай: плагины очереди CSS напрямую. См. Как отменить сценарий? (также относится к стилям). Краткая версия - в будущей версии WP будет включена функция dequeue, теперь она может работать с wp_deregister _ *
  • Плохой случай: плагин эхо CSS среди множества других вещей. Случайно ...

В целом, по моему мнению, лучше и проще отключать отдельные таблицы стилей и включать их в свои собственные, чтобы минимизировать проблемы и повысить производительность (меньше файлов для извлечения).

ответил Rarst 7 +04002010-10-07T15:09:30+04:00312010bEurope/MoscowThu, 07 Oct 2010 15:09:30 +0400 2010, 15:09:30
1

Я сохраняю копию «не желаемого» плагина CSS в папку темы и импортирую его в тему css, добавляя

  @import url ('имя-of-the-plug-css.css');
 

к нему (заменив, конечно, имя .css тем, который я вставляю). Затем я изменяю css-копию в папке темы и сохраняю ее на сервере, как и для других файлов. Да, иногда может потребоваться «гвоздь» идентификаторов или классов, измененных путем присвоения им «! Important».

Я не знаю, соответствует ли это уровню техники, но это не наносит вреда и прекрасно работает.

ответил Sven Knoch 27 J000000Wednesday11 2011, 05:49:03
1

Другим довольно элегантным способом является использование специфики CSS.

Итак, если css плагина говорит:

  div.product div.images img {
  ......
}
 

, который вы определяете в своем css:

  body div.product div.images img {
  ......
}
 

Также см. ответ Майкла Радера для аналогичного вопроса.

ответил Andreas 5 Jpm1000000pmThu, 05 Jan 2012 20:36:50 +040012 2012, 20:36:50
0

Чтобы переопределить css плагина, который уже использовал определенность и! important, я использовал id для переопределения классов. Это немного очистило мой код. Конечно, это тоже не идеальное решение, поскольку оно работает только тогда, когда есть идентификаторы, назначенные как элементам, так и классам.

Вы также можете использовать селектор атрибутов в теории. Однако мне еще предстоит проверить эту теорию.

ответил Sean H. Smith 28 AM000000100000003231 2013, 10:02:32
0

Я закончил использовать! важно для моего пользовательского css, и это переопределяет стиль для плагина, с которым у меня возникли проблемы. Разработчик плагина использовал! Важно во всем плагине css, поэтому я не мог его перезаписать без важности.

  body {
font-family: «Open Sans», Arial, sans-serif! important;
font-weight: 300! important;
}
 
ответил Randy D 18 FebruaryEurope/MoscowbSat, 18 Feb 2017 18:13:19 +0300000000pmSat, 18 Feb 2017 18:13:19 +030017 2017, 18:13:19
-1

Чтобы переопределить css плагина, который уже использовал определенность и! important, я использовал id для переопределения классов. Это немного очистило мой код. Конечно, это тоже не идеальное решение, потому что оно работает только тогда, когда есть идентификаторы, назначенные как элементам, так и классам.

Вы также можете использовать селектор атрибутов в теории. Однако мне еще предстоит проверить эту теорию.

ответил dsdsd 3 52017vEurope/Moscow11bEurope/MoscowFri, 03 Nov 2017 11:51:35 +0300 2017, 11:51:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132