В настоящее время у меня есть несколько общих стилей H1, H2, H3 для моего сайта, которые отлично подходят для большинства «общих» заголовков, где мне нужен простой «традиционный» заголовок.
h1 { /* lots of style attributes */ }
h2 { /* lots of style attributes */ }
h3 { /* lots of style attributes */ }
Я также создаю некоторые компоненты, где у меня есть что-то вроде этого, то есть мне нужен заголовок, специфичный для этого конкретного типа элемента управления.
<div class="titledimage"><h1>Section header</h1><img .../></div>
.titledimage h1 { color:red; bottom-border: 1px solid blue; }
Проблема, с которой я сталкиваюсь, состоит в том, что h1
в titledimage
также является h1
, как определено ранее, поэтому он наследует все стили, определенные в h1
. Это обычно нежелательно - я просто хочу red
и 1px solid blue
для заголовка в .titledImage
div.
Я читал и пытался ответить на этот вопрос о стилях H1 . Мой вывод заключается в том, что если вы используете определенные стили заголовков (.titledimage h1), вы не можете использовать общие стили заголовков (h1), если:
a) you reset every style attribute in the '.titledimage h1' style
b) you just use a class name instead of h1
c) your `h1` style is defined with very few attributes that you'd
be overriding anyway
Я заметил, что для стилизации элемента управления YUI они на самом деле используют H6
, и мне интересно, делают ли они это, чтобы избежать подобных конфликтов.
Должен ли я
a) be using <h6> like yahoo does?
b) reset every attribute defined by `h1` when I define `.titledimage h1` ?
c) just use a class name for `.titledimage header`, and leave
`h1`, `h2`, `h3` for 'traditional more logical headers'
d) something else
в идеале я хотел бы сказать это, но нет такого (насколько мне известно)
.titledimage h1 { inherit: none; color:red; bottom-border: 1px solid blue; }