Изменить цвет h1 в css на основе класса div с пробелом в нем

В настоящее время я пытаюсь изменить цвет заголовка, ссылаясь на класс div.

До сих пор я пробовал:

.pagetitle-title.heading {
  color: purple;
}
<div class = "container">
  <h1 class = "pagetitle-title heading">IT•ONE Method</h1>
</div>

И даже:

h1 {
  color: purple; 
}

Любой из них должен работать. Что в нем не работает?

Moob 08.02.2019 15:46

То, как вы это написали, без другого кода, должно работать. Кроме того, в своем заголовке вы говорите «на основе класса div», но вы стилизуете класс тега h1. jsfiddle.net/hxecbL56

Mihai T 08.02.2019 15:46

Похоже на классический случай перезаписи CSS. Вероятно, у вас есть CSS, перезаписывающие CSS, который вы пытаетесь применить. Попробуйте добавить !important в конце правил CSS. т.е. color: purple !important;.

Martin 08.02.2019 15:48

Спасибо @martin, что сработало для меня (и Михай, наверное, ты прав)

blau 08.02.2019 15:52

Хорошо, я поставлю это как ответ. @jblaupunkt

Martin 08.02.2019 15:59

Вы должен научитесь пользоваться инструментами разработчика, иначе любая проблема с CSS будет сводить вас с ума, и вы начнете применять ужасные решения, такие как использование !important (которых вам следует избегать любой ценой).

connexo 08.02.2019 16:06

Я думаю, вам следует прочитать эту статью, она поможет вам лучше понять, почему ваши стили не работают, а также поможет вам увидеть, что происходит, когда вы используете инструмент разработчика элементов проверки css-tricks.com/specifics-on-css-специфичность.

Pete 08.02.2019 16:36

@jblaupunkt рассмотрите возможность принятия ответа, чтобы эту тему можно было закрыть. :)

Martin 08.02.2019 17:56

@martin только что закрылся, извините! все еще новичок в stackoverflow :)

blau 08.02.2019 18:24
Улучшение производительности загрузки с помощью 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 страниц, которые помогут...
0
9
2 637
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

  1. Проверьте вашу ссылку "таблица стилей" для вашего CSS
  2. Откройте консоль отладки и определите свой h2, чтобы увидеть, нацелены ли параметры CSS.
  3. Попробуйте другой шестнадцатеричный код цвета
  4. Добавьте «!важно» после кода цвета touy

    цвет: фиолетовый! важно;

Я вижу ваш код, и это правильный способ изменить этот цвет, поэтому... Сначала попробуйте мой контрольный список и дайте нам свой отзыв.

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

Как упоминалось в моем комментарии, это выглядит как классический случай «перезаписи CSS». Один из «хаков», чтобы избежать этого, состоит в том, чтобы использовать свойство CSS !important, чтобы сообщить браузеру, какое правило CSS, в частности, важный, и не должно быть перезаписано.

Пример: color: purple !important;

CSS применяет стиль в том виде, в котором он загружен. Таким образом, если у вас есть 1 файл CSS с правилами x и второй файл CSS с правилами y, и оба они нацелены на одни и те же элементы, то файл CSS, который был загружен последним, обычно перезаписывает стили предыдущего.

Порядок известен как нисходящее правило и перезаписывается только свойством !important и в линию CSS. Свойство !Important обычно перезаписывает любой CSS в линию.

Учитывая информацию о нисходящее правило, и у вас есть средства для редактирования CSS и/или выбора порядка загрузки CSS, вы можете убедиться, что вы можете применять свои собственные правила CSS, загрузив их последними. включенный файл в ваш проект.

Пример:

<head>
<link rel = "stylesheet" type = "text/css" href = "loadedfirst.css">
<link rel = "stylesheet" type = "text/css" href = "loadedsecond.css">'
<link rel = "stylesheet" type = "text/css" href = "loadedlast.css">
</head>

В случае, если эти 3 файла имеют правила, которые применяются к одним и тем же элементам, файл загруженныйlast.css — это CSS, который перезапишет предыдущие, за исключением случая свойства !important и CSS в линию. Управляя порядком вашего CSS, вы можете избежать таких «хаков», как использование свойства !important.

Вы, кажется, просто замалчиваете все рейтинги специфичности. Они играют гораздо более важную роль, чем порядок таблиц стилей.

Pete 08.02.2019 16:48

спасибо @Pete, ссылка, которую вы указали в комментарии выше, была очень полезной :)

blau 08.02.2019 18:26

Я бы избегал добавления важного, насколько это возможно. Я бы просто пошел выше к родителям и попытался настроить div как можно более конкретно. Вместо этого я бы пошел

.container h1.pagetitle-title.heading {
    color: purple;
}

Если это не сработает, только тогда я бы использовал важный.

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