Нужно ли ставить префикс перед каждым классом CSS в рамках темы?

Я работаю над темой фреймворка, все префиксы включают классы css, поэтому «main-content» - это «framework-main-content», «header» 'is' framework-header 'и т. д.

Недавно я взглянул на знаменитый фреймворк Genesis и не вижу вообще никакого префикса для классов css, разметки HTML, которая выглядит чисто, а также CSS код.

Нет сомнений, что мы должны префиксировать все в коде PHP, но необходимо ли это для классов css темы или каркаса темы?

Ответы и комментарии:

Я согласен с toscho, но добавлю, что мне нравится, когда разработчики тем делают префикс своих тем, так как это помогает ОЧЕНЬ много в отладке, потому что я могу сразу узнать, произошел ли от них класс css или div или мне нужно искать в другом месте.
Создан 21-03-2017 05:20 rudtek

@rudtek Я бы не стал добавлять столько шума в свой код для такой маленькой выгоды. Плагины - это отдельная тема, они должны использовать префикс в своих классах CSS.
Создан 21-03-2017 05:45 fuxia♦

Все, что я говорю, я ценю префикс. Я не чувствую, что это шум.
Создан 21-03-2017 05:11 rudtek

Префикс темы CSS это абсолютный шум! Большинство инструментов отладки показывают файл CSS для любого конкретного стиля.
Создан 21-03-2017 07:24 Nathan Powell

Если вы используете общие имена классов, у вас будут проблемы с плагинами, а не только с темами.
Создан 21-03-2017 08:04 Mark Kaplun

На самом деле хорошая установка класса в теле - хорошая идея, но в некоторых распространенных html-структурах, таких как список кнопок общего доступа, в которых могут использоваться общие имена классов, все равно будет сложно определить, принадлежат ли они коду, сгенерированному самой темой, или плагин
Создан 21-03-2017 09:29 Mark Kaplun

Правда, но темы для этого обычно не используются и не должны. Дочерняя тема или плагин могут здесь манипулировать чем-то, являясь «абсолютным» для всего CSS, пока новый кодер не будет манипулировать тем, что происходит в его / ее установке WordPress. Вот что делает хороший код хорошим.
Создан 21-03-2017 09:38 Nathan Powell

хм, где я не согласен? Я только что отметил, что это не на 100% пуленепробиваемый, но я не думаю, что в реальной жизни вам нужно быть
Создан 21-03-2017 10:52 Mark Kaplun

Этот форум нуждается в простом способе общения. «Upvote, ответить, пометить, поделиться, скопировать» не имеет к этому никакого отношения. @мета
Создан 21-03-2017 10:46 Nathan Powell

Префиксы используются, чтобы избежать конфликтов. Если ваш фреймворк используется для создания темы, велика вероятность того, что одновременно не будет использоваться фреймворк второй темы. Таким образом, нет конфликта, и, следовательно, нет необходимости в префиксе.
Исключением являются классы CSS, сгенерированные ядром WordPress, например, в форме комментария. Если вы используете одни и те же имена классов для совершенно другой цели, вам нужен префикс или более подходящие имена классов для вашего варианта использования.
Создан 21-03-2017 05:47 fuxia♦91.8k13176358

НЕТ !!! Не используйте префиксы, это будет безумием для всех. Что вы должны сделать, это добавить body_class для пространства имен специальной темы CSS.
Если бы я сегодня написал тему, то я бы сделал в своем файле function.php следующее:
add_filter ('body_class', function ($ classes) {
   $ classes [] = 'my-bad-ass-theme';
   вернуть $ классы;
 });

Тогда можно переопределить все, что мне нужно, но также легко читаемо и конкретно. Например, мне нравится, чтобы заголовки отличались от шрифта остальной части сайта, я бы поместил это в файл CSS:
.my-задиры-тема {
  семейство шрифтов: Verdana;
}
.my-bad-ass-theme h1,
.my-bad-ass-theme h2,
.my-bad-ass-theme h3,
.my-bad-ass-theme h4,
.my-bad-ass-theme h5,
.my-bad-ass-theme h6 {
  семейство шрифтов: Lucida-Grande;
}

У меня все еще может быть хороший стиль для моего оригинального шрифта, но для таких абзацев, как:
п {
 цвет: # 333;
}

Это оставляет абзацы открытыми для стилизации как плагинов, так и дочерних тем, не мешая им.
Не увлекайтесь пространством имен, но посмотрите на препроцессоры CSS, такие как SAAS и LESS (я предлагаю SASS), чтобы воспользоваться вложенностью и другими функциями.
Создан 21-03-2017 07:24 Nathan Powell1,135827