2013-11-12 3 views
4

я пытаюсь понять, на какие элементы будут применяться это правило CSS:CSS селекторы: разница между «телом h1», «.h1 тела» и «body.h1»

body h1, body .h1 { 
    font-family: 'Open Sans', sans-serif !important; 
    color: inherit; 
    text-rendering: optimizelegibility; 
} 

Я понимаю body.h1 но не body h1 ни body .h1

+2

http://css-tricks.com/the-difference-between-id-and-class/ Лучше всего сделать чтение. –

+2

+ вам не нужно выбирать 'body' как родителя, достаточно только' h1, .h1' – l2aelba

+0

спасибо за ответы, я понимаю сейчас. Я просто не понимаю, почему bootstrap использует 'h1' как имя класса, его можно путать с элементом html' h1' – naio

ответ

6

body h1 будут рассмотрены все <h1> -элементов внутри <body> -элемента:

<body> 
    <h1>This one</h1> 
    <div> 
     <h1>And also this one</h1> 
    </div> 
</body> 

body .h1 будут выбраны все элементы внутри тела, которые имеют классh1:

<body> 
    <h1 class="h1">This one</h1> 
    <div class="h1">And also this one</div> 
</body> 

body.h1 наконец-то стилизации <body> сам элемент, если он имеет класс h1:

<body class="h1"></body> 
6
  • body.h1 отберет body элемент, если он имеет класс h1.
    • (напр. <body class='h1'>this one</body>)
  • body h1 подберет все h1 элементы в организме.
    • (напр. <body><h1>this one</h1></body>)
    • это излишнее хорошо сформированная HTML, он в основном будет делать то же самый, как h1, потому что единственное место h1 элемента может быть (если ваш HTML хорошо сформированный) является в корпусе)
  • body .h1 выберет все элементы, имеющие класс h1 в корпусе.
    • (ех <body><div class='h1'>this one</div></body>.)

Поэтому body h1, body .h1 будет выбирать:

<body> 
    <h1>this element</h1> 
    <div class='h1'>and this one too</div> 
</body> 
0
  • body.h1body выбирает с классом h1.
  • body h1 выбирает все h1 элементов в пределах body элементов.
  • body .h1 выбирает все элементы любого типа с классом h1 внутри элемента body.

Селектор в вашем CSS ориентирован на все h1 элементов и все элементы любого типа с классом h1, которые находятся внутри body вашей разметки.

0

тело h1

он найдет все h1 в вашем теле

тела.h1

он найдет все элементы с классом h1 в вашем теле

0

body h1: Все h1 элементов, которые являются потомками body элемента

body .h1: Все элементы с классом h1, которые являются потомками из body элемента

Fiddle: http://jsfiddle.net/P2z5x/

Смежные вопросы