Да, они разные ...
#
- это селектор идентификатора , используемый для нацеливания на отдельный конкретный элемент с уникальным идентификатором, но. является селектором класса , используемым для нацеливания нескольких элементов с определенным классом. Другими словами:
#foo {}
будет стилизовать отдельный элемент, объявленный с атрибутом id="foo"
.foo {}
будет стилизовать все элементы с атрибутом class="foo"
(для одного элемента также может быть назначено несколько классов, просто разделите их пробелами, например, class="foo bar"
)
Типичное использование
Вообще говоря, вы используете # для стилизации того, что, как вы знаете, будет появляться только один раз, например, такие как высокоуровневые макеты, такие как боковые панели, области баннеров и т. Д.
Классы используются там, где стиль повторяется, например, Допустим, у вас есть специальная форма заголовка для сообщений об ошибках, вы можете создать стиль h1.error {}
, который будет применяться только к <h1 class="error">
Специфичность
Другой аспект, в котором селекторы различаются, заключается в их специфике - селектор идентификатора считается более конкретным, чем селектор класса. Это означает, что там, где стили конфликтуют на элементе, стили, определенные с более конкретным селектором, будут переопределять менее специфичные селекторы. Например, для <div id="sidebar" class="box">
любых правил для #sidebar
с переопределением конфликтующих правил для .box
Подробнее о селекторах CSS
См. Учебное пособие , чтобы узнать больше отличных учебников по CSS-селекторам - они невероятно мощны, и если ваша концепция состоит в том, что просто "# используется для DIV-файлов", вы бы хорошо прочитали, как именно Используйте CSS более эффективно.
РЕДАКТИРОВАТЬ: Похоже, что Selectutorial, возможно, пошел на большой веб-сайт в небе, поэтому вместо этого попробуйте эту архивную ссылку .