<style>
body {
font-size: 14px;
}
</style>
<body>
Text outside table.
<table>
<tr><td>Text inside table.</td></tr>
<tr><td>Text inside table.</td></tr>
<tr><td>Text inside table.</td></tr>
</table>
</body>
Я пытаюсь указать размер базового шрифта для моего сайта, поэтому в других местах я могу использовать процент или em для указания размера.
HTML-код выше, без стиля body
шрифт будет иметь одинаковый размер. Однако, почему с font-size
в стиле body
как и выше, только "Текст за пределами таблицы". повлиял на изменение размера? Разве не все заключено в <body>
?
Мне нужно добавить
table {
font-size: 1em;
}
Чтобы сделать шрифт в моей таблице, выполните размер шрифта body
. Почему это не так, как с моим другим <div>
на моей странице? Те <div>
сделал следовать body
font-size
красиво.
Ваша страница отображается в режиме Quirks, возможно, потому, что она не имеет в doctype
строки типа doctype
или начинается с строки doctype
интерпретируемой как нестандартная.
Это часть режима quirks, даже в ограниченном смысле "режим HTML5 quirks" (который пытается стандартизировать некоторые общие причуды), что таблицы не наследуют свойств шрифта. Это формально определено в HTML 5 в предложении об отображении таблиц. В определении там используется initial
ключевое слово, которое пока еще не является стандартным, но оно просто означает начальное значение свойства, определенное в спецификациях CSS. Для font-size
он действительно является medium
.
Если это старая страница, лучше всего жить с причудами и просто явно объявлять свойства шрифта для таблиц, например, с помощью
body, table { font-size: 14px }
(не то, чтобы я когда-либо рекомендовал такую негибкость).
Если речь идет о новой странице, которую вы создаете, поставьте <!doctype html>
в начале и последовательно используйте "стандартные" HTML и CSS.
Оказалось, что стиль CSS по умолчанию для CSS по стилю пользователя для таблицы использует font-size: medium;
и это применяется к моей table
(которая не имеет font-size
)
Вследствие этого правило CSS используется для игнорирования font-size
моего body
поскольку table
более глубока по иерархии, medium
размер будет иметь приоритет.
Я думаю, нет лучшего способа предотвратить это, кроме добавления стиля font-size
в таблицу (в идеале с 1em
значением). При использовании стиля правило CSS по умолчанию не имеет шансов быть использованным.