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

398

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

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

<article class="column, wrapper"> 
АРГО
источник
Какая проблема у тебя сейчас? В любом случае это было решением этой проблемы. Любая другая проблема может зависеть от нескольких факторов.
Аурелио Де Роса
1
Хотя это выполнимо, я обычно использую вложенные контейнеры с наследованием CSS. Это намного красивее и, как правило, полезнее.
Джонатан Хенсон
Если после удаления запятой у вас все еще есть проблема, я предлагаю ознакомиться с руководством о том, почему правила не работают . Я обнаружил, что наиболее распространенным для меня быстрым ударом является ситуация, описанная там как «Использование сокращенного poperty» (то есть косвенное возвращение к значению по умолчанию)
ЖЖ в Нью-Джерси

Ответы:

531

Просто удалите запятую так:

<article class="column wrapper"> 
Аурелио Де Роса
источник
3
<article class = "class1 class2 ... classN">
Андре Элрико
1
Странно свое пространство вместо запятых. Но да, спасибо за ответ
Сохам Мехта
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элементу.

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

вам нужно поставить точку между классом, как

класс = "column.wrapper">

Амит Кумар
источник