Изменение цветов ToggleButton из реакции-загрузки

У меня есть группа ToggleButtons в моем приложении, цвета фона которой я хотел бы изменить. В настоящее время мой код дает всем кнопкам градиент <.untoggled-button>, а невыбранные кнопки имеют этот градиент с добавленной синей пленкой. У меня две проблемы: я хочу удалить синюю пленку на непереключаемых кнопках, и мне нужно получить доступ к переключаемой кнопке, чтобы изменить ее стиль. <.toggled-button> — это просто заполнитель, который сейчас ничего не делает.

Мне интересно, как получить доступ к непроверенным и проверенным версиям ToggleButtons в моем css, чтобы переопределить стиль начальной загрузки по умолчанию!

jsx:

<ToggleButtonGroup className = "view" type = "radio" name = "options" defaultValue = {2}>
        <ToggleButton value = {1} className = "untoggled-button" > title</ToggleButton>
        <ToggleButton value = {2} className = "untoggled-button"> title</ToggleButton>
        <ToggleButton value = {3} className = "untoggled-button"> title</ToggleButton>
</ToggleButtonGroup>

css (это очень неправильно, но я надеюсь, что смогу стилизовать как непроверенные, так и проверенные кнопки):

.untoggled-button{
  background-image: some gradient !important;
}
.toggled-button {
  background-image: another gradient !important;
}

Привет, солнце, можешь включить код для этого компонента, о котором ты говоришь?

Mario Perez 09.12.2020 17:38

@MarioPerez готов!! не уверен, насколько это полезно, но это моя основная логика (я удалил обработчики, чтобы их было легче читать)

sun 09.12.2020 17:43

@sun ты пробовал добавить !important к своему фоновому изображению?

John 09.12.2020 17:57

@Джон, да! извините, я отредактирую свой вопрос, чтобы уточнить, но мой текущий код делает то, что выбранная кнопка имеет градиент <.untoggled-button>, а невыбранные кнопки имеют тот же градиент с добавленной синей пленкой. Я не уверен, как получить доступ к стилю переключаемой кнопки (.toggled-button) — это просто заполнитель, и как удалить синюю пленку по умолчанию.

sun 09.12.2020 18:10

@sun, я думаю, что bootstrap добавляет класс collapsed, так что, возможно, попробуйте что-то вроде .collapsed {background-image: Your Gradient;}

John 09.12.2020 18:16
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в 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. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
1
5
1 066
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

установка прозрачного цвета фона и добавление класса .active, похоже, сработали!

.untoggled-button{
  background-image: some gradient !important;
  background-color: transparent !important;
}
. untoggled-button.active {
  background-image: another gradient !important;
}

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