Как назначить несколько классов для контейнера HTML? [закрыто]


398

Можно ли назначить несколько классов для одного HTMLконтейнера?

Что-то вроде:

<article class="column, wrapper"> 

Какая проблема у тебя сейчас? В любом случае это было решением этой проблемы. Любая другая проблема может зависеть от нескольких факторов.
Аурелио Де Роса

1
Хотя это выполнимо, я обычно использую вложенные контейнеры с наследованием CSS. Это намного красивее и, как правило, полезнее.
Джонатан Хенсон

Если после удаления запятой у вас все еще есть проблема, я предлагаю ознакомиться с руководством о том, почему правила не работают . Я обнаружил, что наиболее распространенным для меня быстрым ударом является ситуация, описанная там как «Использование сокращенного poperty» (то есть косвенное возвращение к значению по умолчанию)
ЖЖ в Нью-Джерси

Ответы:



188

От стандарта

7.5.2 Идентификаторы элемента: идентификатор и атрибуты класса

Определения атрибутов

id = name [CS]
Этот атрибут присваивает имя элементу. Это имя должно быть уникальным в документе.

class = cdata-list [CS]
Этот атрибут назначает элементу имя класса или набор имен классов. Любому числу элементов может быть присвоено одно и то же имя класса или имена. Несколько имен классов должны быть разделены пробелами.

Да, просто поставьте пробел между ними.

<article class="column wrapper">

Конечно, есть много вещей, которые вы можете сделать с наследованием CSS. Вот статья для дальнейшего чтения .


3
Как должен реагировать браузер, если элемент назначен нескольким классам, которые устанавливают разные значения для одних и тех же атрибутов. Есть ли какой-то порядок приоритета для этого?
Вечно любопытно

6
@JonathanHenson: нет, это не так. В случае связанной специфики, правило, которое встречается позже в CSS, выигрывает.
Ульрих Шварц

1
@UlrichSchwarz более поздний перечисленный класс CSS (на что я надеялся, когда я проверял это), или позже во всех файлах CSS? Потому что первое наверняка не работает в браузерах, в которых я тестировал, а я проверял вторую гипотезу.
Джонатан Хенсон

9
@JonathanHenson: В соответствии со спецификациями CSS 2.1 , «если два объявления имеют одинаковый вес, происхождение и специфику, последнее определенное побеждает. Объявления в импортированных таблицах стилей считаются перед любыми объявлениями в самой таблице стилей». Так что это порядок объявления CSS. Имена в атрибуте class не имеют определенного порядка, так как .fooэто синтаксический сахар для [class ~= foo] ref , « fooэто слово в classатрибуте».
Ульрих Шварц

1
@UlrichSchwarz Спасибо за разъяснения.
Джонатан Хенсон

18

Чтобы назначить несколько классов к HTML элементу , включают в себя как имена классов в пределах котировок атрибута класса и они разделены пробелом:

<article class="column wrapper"> 

В приведенном выше примере columnи wrapperесть два отдельных класса CSS, и оба их свойства будут применены к articleэлементу.


16
чем этот ответ отличается от предыдущего?
Иван Родригес Торрес

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.