#html #css
#HTML #css
Вопрос:
Я пытаюсь создать класс, который я мог бы применять к текстовым элементам, чтобы изменять их цвет на основе переменной. Когда я встраиваю это, это работает, но когда я пытаюсь создать пользовательский класс в моих стилях, это не работает. Тем не менее, один из моих пользовательских классов работает, что делает его еще более запутанным.
Вот конкретный фрагмент html, о котором идет речь:
/* Set initial variable values here */
:root {
--button-color: #00FFFF;
}
/* Allow colors to be overwritten here */
.text-color {
color: var(--button-color);
}
.border-color {
border-width: 5px;
border-style: solid;
border-color: #00FFFF;
}
.clickable {
background-image: url('../patterns/debut_dark.png');
}
<h3 class='clickable text-center py-2 mb-2 rounded shadow text-color border-color'>Hello</h4>
clickable — это пользовательский класс, он работает.
Остальные, вплоть до text-color, являются классами начальной загрузки. Они работают.
text-color и border-color — это другие мои пользовательские классы, определенные в том же файле, где определен clickable.
Я не могу понять, почему объявления классов не работают, но встраивание
<h3 class='clickable text-center py-2 mb-2 rounded shadow text-color border-color' style="color: var(--button-color);">Hello</h4>
действительно работает.
Любая помощь с благодарностью.
Комментарии:
1. Если вы проверяете стили в консоли разработчика вашего браузера, перезаписывается ли он стилем с более высоким приоритетом?
2. Как вы можете видеть из фрагмента, ваш код работает, следовательно, у вас есть стиль, переопределяющий вышеупомянутый. Как говорит dbs, вы можете проверить элемент, чтобы увидеть, какой это стиль, а затем создать более конкретное правило для его переопределения. Также, чтобы вы знали, у вас есть h4, закрывающий ваш h3
3. Для меня ваш код работает просто отлично … не могли бы вы, пожалуйста, опубликовать свой CSS-файл, чтобы мы могли рассказать вам, что переопределяет ваш код и мешает вам изменять цвет по-своему. потому что я не хочу рекомендовать ID,
#
иначе!important
они испортят специфику CSS, и я не хочу, чтобы вы использовали любой из них для решения вашей проблемы.
Ответ №1:
Хорошо, я думаю, проблема может быть в кэшировании. Похоже, что после отправки моих изменений на github (хотя я использую localhost, а не github, чтобы увидеть изменения) и ожидания около 20 минут, при загрузке его обратно изменения были применены.
Комментарии:
1. таблицы стилей кэшируются локально — если вы вносите изменения, используйте ctrl f5, чтобы выполнить «жесткое обновление», которое заставит браузер снова отключить все
Ответ №2:
может быть, просто рабочий hth..
/* Allow colors to be overwritten here */
.text-color {
color: var(--button-color) !important;
}
Комментарии:
1. не очень хорошее решение используйте important, лучше найдите, почему и какой css перезаписывает это правило
2. Если это не работает, проблема не здесь … это решение для более быстрой отладки…