это хорошая идея, чтобы помнить HTML-теги в классах CSS и идентификаторов? - PullRequest
1 голос
/ 17 апреля 2010

Если мы сохраним имя тега в селекторах.

Например:

#divMainContentBody { … }

.spanImportant { … }

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


Обновлено после ответа @ Guffa:

alt text

Я нашел этот совет в этой книге также http://answers.oreilly.com/topic/647-how-to-write-efficient-css-selectors/

Не квалифицированные селекторы идентификаторов

Because there is only one element in the page with a given ID, there’s

нет необходимости добавлять дополнительные классификаторы. Например, DIV #toc не нужен и должно быть упрощено до # toc.

Не квалифицированные селекторы классов

Instead of qualifying class selectors for specific tags, extend

имя класса, относящееся к вариант использования. Например, изменить LI глава к .li-главе или лучше пока что .list-chapter.

Ответы [ 2 ]

4 голосов
/ 17 апреля 2010

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

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

Если элемент важен, вы можете использовать его в селекторе вместо того, чтобы помещать его в идентификатор. Таким образом, селектор будет работать только с этим элементом:

div#MainContentBody { ... }

span.Important { ... }
2 голосов
/ 17 апреля 2010

На мой взгляд, это может быть не самой лучшей практикой, поскольку использование стилей, зависящих от местоположения, или «изменение» вашего CSS в направлении шаблона на основе местоположения (т. Е. «Это можно использовать только для пролета», «это только div ") заставляет вас создавать отношения 1: 1 между вашими HTML-элементами и вашими CSS-классами.

CSS-классы имеют соответствующие имена, так как - как и в ОО-программировании - ваши CSS-классы могут наследоваться друг от друга. Для этого вам лучше придерживаться осмысленного соглашения об именах (как вы уже предлагали), но писать классы, которые являются модульными и могут быть расширены.

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

Подробнее об этом можно узнать на http://wiki.github.com/stubbornella/oocss или SlideShare .

...