Два класса для одного HTML-элемента реакции

Я чувствую, что здесь есть простой ответ, но я его не нахожу -

В заголовке моего ответа я импортирую свою таблицу стилей в разделе «стили» и поэтому ссылаюсь на классы css как

<div className = {styles.selectorname}>

Но я не могу понять с этой нотацией, как объявить несколько стилей для одного элемента. Пример, который не работает:

<div className = {styles.selectorname1} {styles.selectorname2}>

Любые идеи?

className = {{styles. selectorname1, styles.selectorname2}} не работает?
Ms. Siri 06.05.2022 19:04

Нет, к сожалению

Fuego DeBassi 06.05.2022 19:09

Вы не можете сделать это с классами. Вы должны использовать атрибут styles вместе с синтаксисом распространения, чтобы сделать это.

Amit 06.05.2022 19:20
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
2
3
50
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете использовать оператор распространения для объединения различных объектов стиля. Для примера давайте посмотрим на этот файл css, в котором мало объявлений.

.myColor {
  color: DodgerBlue;
}

.myFont {
  font-family: Arial;
  text-align: center;
}

Мы можем объединить их, используя следующий синтаксис.

<div style = {{...styles.myColor, ...styles.myFont}}>

Точно так же вы можете использовать следующий код для объединения этих стилей. Стили также могут быть из двух разных файлов.

<div style = {{...styles.selectorname1, ...styles.selectorname2}}>

Примечание. Используемый нами ... называется оператором спреда. Узнайте больше о синтаксисе распространения здесь.

Вы уверены, что использовали кавычки? Вроде таких как:

<div className = "{styles.selectorname1} {styles.selectorname2}">

Это не сработает. "{styles.selectorname1} {styles.selectorname2}" — это строка. Вы не встраиваете эти значения в строку. Чтобы внедрить значение, вы можете использовать строковый литерал.

Amit 06.05.2022 19:23

В синтаксисе jsx фигурные скобки ({}) используются при предоставлении выражения или ссылки, а одинарные/двойные кавычки (" или ') используются при непосредственном указании строки. (см. этот ТАК ответ)

Bumhan Yu 06.05.2022 19:29

Амит, вы не можете использовать два класса CSS без кавычек в SGML и HTML. Вы должны разделить классы, если хотите объединить. w3.org/TR/REC-html40/intro/sgmltut.html#h-3.2.2

Ridvan BEAU 10.05.2022 17:00
Ответ принят как подходящий

Если это имена классов, то вы можете использовать строки шаблона (``)

<div className = {`${styles.selectorname1} ${styles.selectorname2}`}>

Другие вопросы по теме