У меня возникла странная проблема, стиль не применяется к элементу H1
.Стиль не применяется к элементу H1 в CSS
Код:
p h1 {
color: red;
}
<p>
<h1>This is a header</h1>
</p>
У меня возникла странная проблема, стиль не применяется к элементу H1
.Стиль не применяется к элементу H1 в CSS
Код:
p h1 {
color: red;
}
<p>
<h1>This is a header</h1>
</p>
Вы не может иметь заголовок (H1
к H6
) как ребенок из p
, , что недействительная HTML.
Это не работает, потому что ваш браузер автоматически закрывать p
элемент перед началом h1
элемента, оставляя вас с этим сгенерирована DOM (код) ниже:
<p> </p>
<h1>This is a header</h1>
<p> </p>
Используя либо к Асесс F12 вашего инструменты разработчика браузера или используя CTRL + U для просмотра исходного кода, вы можете увидеть эту созданную DOM выше.
Вместо этого, вы можете иметь span
внутри p
или заголовок (H1
к H6
)
h1 {
color: red;
}
h2 span {
color: green
}
p span {
color: blue
}
<h1>This is a header</h1>
<h2><span>This</span> is a second header</h2>
<p><span>This</span> is a paragragh</p>
Подробнее о headings contents и phrasing elements в W3C спецификации
Вы можете иметь 'span' внутри тега' p' или любого другого [PhrasingElement] (https://www.w3.org/TR/html-markup /common-models.html#common.elem.phrasing) – DaniP
На этом примечании, способ отладки таких проблем состоит в том, чтобы просмотреть ** сгенерированную ** DOM браузером с помощью инспектора браузера. –
Вы не можете поставить H1 в абзаце это недействительно. – lddz
http://webmasters.stackexchange.com/a/49449 – DaniP