CSS 'font-size: medium' устанавливает размер шрифта .Body или базовый размер шрифта * browser *? - PullRequest
2 голосов
/ 18 сентября 2008

в «CSS: отсутствует руководство» автор говорит, что font-size: medium (или другие ключевые слова размера) устанавливает шрифт относительно базового размера шрифта браузера .

Но в FF2 и IE6 я вижу, что он устанавливает размер шрифта в соответствии с тем, что я указал в стиле .CSS HTML или BODY (что гораздо предпочтительнее).

Если это работает последним способом, это очень удобно, если у вас есть вложенные стили, и вы знаете, что хотите, чтобы некоторый текст имел размер шрифта основного текста (т. Е. "Текст нормального размера").

Ответы [ 5 ]

5 голосов
/ 18 сентября 2008

С спецификация CSS 2.1 :

Среднее значение - это предпочитаемый пользователем размер шрифта и используется в качестве среднего значения для справки.

Если браузер этого не делает, значит, браузер глючит.

2 голосов
/ 18 сентября 2008

Он будет основан на родительском элементе, чтобы соблюдать каскад. Если это полезно, я всегда делаю размеры шрифтов следующим образом:

body {
   font: normal 100% "Arial","Helvetica",sans-serif;
}
p, li, td {
   font-size: .85em;
}
li p, td p {
   font-size: 1em;
}

Сделай 100% на теле, затем используй их для всего остального. Я никогда не использую «меньше», «средний» или что-то подобное. У меня есть больше контроля таким образом.

Edit:

Пожалуйста, смотрите комментарий Джима о том, что "средний" - это абсолютный размер шрифта. Приятно отметить.

0 голосов
/ 17 августа 2016

Как отмечалось ранее, medium устанавливается UA (браузером), но вы все равно можете получить желаемое поведение, используя rem. rem относится к корневому элементу (в частности, элемент <html>, а не <body>) и, следовательно, зависит от стиля корневого элемента.

См. эту скрипку для демонстрации.

html
{
  font-size: 60px;
}

#mediumBlock
{
  font-size: medium;
}

#remBlock
{
  font-size: 1rem;
}

#halfRemBlock
{
  font-size: 0.5rem;
}
<div id="inheritedBlock">
  Foobar inherited
</div>
<div id="mediumBlock">
  Foobar medium
</div>
<div id="remBlock">
  Foobar rem
</div>
<div id="halfRemBlock">
  Foobar 0.5rem
</div>
0 голосов
/ 18 сентября 2008

Размер шрифта Ключевые слова (xx-small, x-small, small, medium и т. Д.) Основаны на размере шрифта пользователя по умолчанию, который является средним. Он также может использоваться в терминах изменения размера дочернего элемента по отношению к родительскому элементу.

0 голосов
/ 18 сентября 2008

Я думаю, что если вы установите размер по умолчанию для элемента, такого как контейнер или тело, то любые относительные размеры шрифта в дочерних элементах основаны на родительских элементах. Только если вы нигде не указали размер шрифта, он будет использоваться по умолчанию в браузере (при этом все они имеют разные размеры).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...