Должен ли я «назвать свою страницу» в целях создания необходимого ей CSS? - PullRequest
0 голосов
/ 09 февраля 2009

В css я должен «назвать» свою страницу на верхнем уровне - вот так:

<div class="page_products">

для того, чтобы написать css, специфичный для этой страницы, вот так:

.page_products h3 {
   font-color: red;
}

Примечание. Это абсолютно случайное и, вероятно, бесполезное переопределение стиля. H3 это первое, что пришло мне в голову. Я просто пытаюсь описать практику.

Я видел несколько мест, где описан этот вид практики - в том числе один ответ на один из моих других постов , и я вроде как ужасен. Я бы предпочел переопределить тег <style> в верхней части моей страницы или создать второй файл .css (менее вероятно). Но потом, если я посмотрю на это по-другому, это будет очень привлекательно, и у меня возникнет соблазн его использовать.

Что другие думают об этой практике. Это выглядит пугающе неприемлемым для меня. Каковы преимущества или подводные камни?

Дополнительный пункт: Возможно, я также пытаюсь написать файл .css, специфичный для версии для iPhone, - и немного беспокоюсь, что несколько CSS-файлов для этого могут стать действительно неуклюжими. 1018 *

Ответы [ 4 ]

11 голосов
/ 09 февраля 2009

Вместо того, чтобы иметь кучу одноразовых CSS-файлов с 1 или 2 правилами в каждом, я считаю полезным дать body идентификатор или атрибут класса, аналогичный вашему примеру. В конечном счете, прагматизм должен победить. Простота означает разные вещи в разных масштабах - если у вас есть огромные изменения CSS на странице, внезапно становится намного проще поддерживать различные файлы CSS и менять операторы включения. Но, имея всего несколько правил, может быть, только несколько крайних страниц, легче включить все правила в основную таблицу стилей.

3 голосов
/ 09 февраля 2009

Я вообще предпочитаю указывать дополнительные файлы CSS. Однако это приводит к дополнительному HTTP-запросу и замедляет время загрузки. <style> теги в заголовке html не поддерживаются в долгосрочной перспективе.

Если у вас есть сценарии, в которых вы переопределяете стили для нескольких элементов на определенных страницах, такой подход является разумным.

Было бы лучше использовать тело вместо div для применения класса или идентификатора. Он чище и его легче обнаружить для дальнейшего обслуживания.

2 голосов
/ 09 февраля 2009

Иногда у вас просто нет выбора, и у вас должен быть определенный CSS для определенных страниц .

Обычно я добавляю уникальный идентификатор в тело каждой страницы - тогда нет необходимости в дополнительном элементе div.

<body id="page-x">
    <h3>Page Title</h3>
</body>

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

#page-x h3 {
    custom css...
}
1 голос
/ 09 февраля 2009

Назначение имен элементов облегчает задачу, когда люди хотят возиться с вашим рендерингом с помощью таких инструментов, как Greasemonkey. Они могут захотеть только «исправить» ваши теги «page_products».

Например, есть торрент-сайт, членом которого я являюсь, который отображает огромную серию флажков, на которые я не хочу смотреть при перечислении новых торрентов. С Greasemonkey я смог применить отображение: ни одного CSS к названному элементу, делая его невидимым каждый раз, когда я туда иду.

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