2012-01-04 1 views
9

В W3C поддерживать page of advice on how to size your fonts in CSS - последнее обновление в апреле 2010 г. Согласно этой странице самый лучший способ, чтобы стиль шрифта должен использовать «абсолютные» размеры шрифта:Должен ли я использовать абсолютный размер шрифта (маленький, средний, большой и др.)?

еще лучше, если базовая Font- размер установлен для документа, используйте абсолютный размер ([xx-small | x-small | small | medium | large | x-large | xx-large]) или относительный размер ([больше | меньше]) при определении размера шрифта для конкретного элемента в документе.

Спец затем defines these font-sizes в таблице. Насколько я понимаю, этот стол, small должен быть 2/3 (66%) размером medium, а large должен быть 4/3 (133%).

Если я проверю это, я получаю rather different results из моей интерпретации коэффициентов, указанных W3C. Результаты согласуются с последними версиями Chrome, Firefox и IE, но не соответствуют рекомендациям W3C. small - 81.25% вместо 66% и large - 112.5% вместо 133%.

Означает ли это, что современные браузеры не поддерживают эти стандарты от W3C? Есть ли новый стандарт, который заменил бы этот, о котором я не знаю? Или я неправильно понял смысл этой таблицы из W3C?

В конце дня мой вопрос сводится к следующему: есть ли практика использования абсолютных размеров шрифта в CSS? Будет ли он вести себя последовательно в браузерах? И в идеале я хотел бы знать, какой стандарт соответствуют современным браузерам.

+1

Я считаю, что лучший способ - использовать относительные шрифты: 'em' и проценты. Обратите внимание, что html также как тег , который делает все более запутанным, единственное преимущество в соответствии с спецификацией html5 заключается в том, что это может быть полезно семантически. Но я удивляюсь, что другие должны держаться о стилях css x-large, а также! – c4urself

ответ

4

Вы неверно истолковываете таблицу, на которую ссылаетесь. Средний размер шрифта HTML 3, малый размер шрифта HTML 2, относящийся к устаревшему тегу шрифта и его размерам шрифта 1,7.

В любом случае, если вы хотите соблюдать предпочтения по размеру шрифта пользователя, не используйте размеры шрифта, такие как 10px и тому подобное. Средний означает предпочтение пользователя. (Несмотря на то, что подавляющее большинство пользователей оставляют свой предпочтительный размер на заводе по умолчанию, потому что они не знают, как изменить его.)

@MrLister сказал в комментарии:

[соотношение между абсолютными размерами шрифта ] отличается между браузерами. Согласно W3C, он может даже отличаться между шрифтами. В моем личном опыте, в некоторых браузерах существует также разница между строгим и причудливым режимами. Поэтому, если вы хотите согласованности, не используйте его. Установите размер для тела (размер, который вы хотите, или оставьте его пользователю), а затем выполните работу с процентами или ems для различных элементов.

+0

И на самом деле в дополнение к неверному истолкованию таблицы эта страница специально говорит о том, что таблица рассчитана по-разному разными UA и даже для разных шрифтов ... – Chris

+0

А хорошо! Да, я не мог понять, что это означает «Размер шрифта HTML». Они где-то определены? Или, если это не так, и, в частности, осталось до UA (как указывает @Chris) есть ли надежная таблица настроек браузера? Только потому, что, если мне нужно закодировать некоторый CSS на основе руководства по стилю или PNG дизайна, мне нужно знать, с какими размерами я имею дело. –

+0

Просто добавьте - я понимаю, что они могут измениться, и поэтому, если я хочу конкретные размеры пикселей шрифта, я не должен полагаться на «маленький», «средний» и т. Д. Но я хотел бы закодировать в соответствии с лучшей практикой (и, таким образом, размер шрифта может измениться, и сайт по-прежнему может быть использован), но все же он обращается к заинтересованным сторонам, таким как указанный дизайн. –

0

«Medium» переводит на 1em.

В качестве базового размера шрифта для документа 1em (или 100%) эквивалентно установке размера шрифта по выбору пользователя.

+6

Нет, нет, 1em - это не то же самое, что и среда. 1em означает «тот же размер шрифта, что и родительский». Если не указал размер шрифта, THEN 1em является тем же самым, что и среда в теле. Например, в h1 1em означает тот же размер, что и h1, в то время как среда будет предпочтительной по умолчанию пользователем. –

+0

Я думаю, вы неправильно поняли мой вопрос. Этот конкретный факт, в то время как обычно верно, не был решающим. –

+0

«Разве по-прежнему лучше использовать абсолютные размеры шрифтов в CSS?» - абсолютный, как в «10pt», или абсолютный, как в «маленьком» («маленький», ссылающийся на значения тега 'font' для размера). То, что я пытался сказать, заключается в том, что прежний размер шрифта тега 'font'« переводит »на 1-й базовый размер шрифта, т. Е. Он должен быть специфичным для браузера, но должен рассматриваться как« средний ». Что касается лучшей практики, то определение вашего базового размера шрифта как 1em и отсрочка от этого для всех других элементов будет моим личным голосованием - не уверен, что вы хотите назвать это «абсолютным» или «относительным» тогда. – kontur

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