H2 преобразование не работает

Я пытаюсь преобразовать элемент. Преобразование размера шрифта работает хорошо, но преобразование полей не так уж хорошо.

Вот моя попытка:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
<html>
    <head>
    <style type="text/css">
    .box{
        font-size:30px;
        margin:23px 0;
        font-weight:bold;

    }
    </style>
    </head>

<body>

</head>
<body>

<div class="box">Some text here</div>

</body>
</html>

По сравнению с:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">    
<html>
    <head>
    <style type="text/css">
    body{
        font-size:20px;
    }
    </style>
    </head>

<body>

</head>
<body>

<h2>Some text here</h2>

</body>
</html>

Как видите, текст H2 и.box имеют одинаковый размер шрифта при просмотре в браузере.

Это неверно, и должно быть 24px. Какую ошибку я сделал?

2 ответа

Вы устанавливаете размер шрифта для тела, которое будут наследовать другие элементы, но h2 предустановлен браузером внутренне пользовательским агентом css, в частности, как в "специфичности" и имеет приоритет над тем, что вы установили для тела.

Например, если вы используете Firebug, вы увидите, что браузер уже установил в вашем браузере значение h2. Если вы хотите изменить это, вам нужно указать h2{font-size: 24px} как вы сделали в другом примере с div. У Div нет размера шрифта, установленного на них браузером.

margin собственность для div элемент предустановлен по умолчанию во всех браузерах, тогда как font-size собственности нет. Чтобы переопределить это, вам нужно быть более конкретным, используя это:

div.box { font-size:30px; margin:23px 0; font-weight:bold; }
Другие вопросы по тегам