Есть много статей и вопросов о шрифтах процентного размера и шрифта другого размера . Однако я не могу узнать, ЧТО должен быть эталон процентного значения. Я понимаю, что это «одинаковый размер во всех браузерах». Я также читал это, например:
Процент (%): Единица процента очень похожа на единицу «em», за исключением нескольких фундаментальных отличий. Прежде всего, текущий размер шрифта равен 100% (т.е. 12pt = 100%). При использовании процентной единицы ваш текст остается полностью масштабируемым для мобильных устройств и для доступности.
Источник: http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/
Но если вы говорите «т.е. 12 баллов = 100%», это означает, что сначала вам нужно определить font-size: 12pt
. Вот как это работает? Сначала вы определяете размер в абсолютном выражении, а затем называете его «100%»? Это не имеет большого смысла, поскольку многие образцы говорят, что полезно поставить:
body {
font-size: 100%;
}
Итак, ЧТО ТАКОЕ размер шрифта относительно? Я заметил, что размер, который я вижу на своем экране, отличается для каждого шрифта. Например, Arial выглядит намного больше, чем Times New Roman. Кроме того, если бы я просто сделал это, размер тела = 100%, означало бы это, что он будет одинаковым во всех браузерах? Или только если я сначала определю абсолютное значение?
ОБНОВЛЕНИЕ, СБ 23 ИЮЛЯ
Я добираюсь туда, но, пожалуйста, потерпите меня.
Итак, значение% относится к размеру шрифта браузера по умолчанию, если я правильно понимаю. Что ж, это приятно, но снова задает мне несколько других вопросов:
- Всегда ли этот стандартный размер одинаков для каждой версии браузера или он различается в зависимости от версии?
- Я! нашел (см. изображение ниже) настройки для Google Chrome (никогда раньше не смотрел на это!), и я вижу стандартные настройки "serif", "sans-serif" и "monospace". Но как интерпретировать это для других шрифтов? Скажем, я определяю
font: 100% Georgia;
, какой размер будет у браузера? Будет ли он искать стандартный размер шрифта с засечками или шрифт Georgia имеет стандартный размер для браузера - На нескольких сайтах я читал такие вещи, как
Sizing text and line-height in ems, with a percentage specified on the body [..], was shown to provide **accurate, resizable text across all browsers** in common use today
. Но из того, что я сейчас узнаю, я считаю, что вам нужно выбирать между текстом с изменяемым размером (используя% или em, как они рекомендуют в этой цитате) или иметь «точные, согласованные размеры шрифта во всех браузерах» (используя px или pt в качестве базы). Это правильно?
Настройки Google:
Вот как, я думаю, все могло бы выглядеть, если бы вы не определяли размер в абсолютных значениях.
font-size
используя относительные единицы , такие какem
,rem
или%
. Использованиеpx
переопределит размер шрифта браузера по умолчанию! Многие пользователи указывают собственный размер шрифта, чтобы облегчить чтение текста.Насколько я понимаю, когда шрифт установлен следующим образом
body { font-size: 100%; }
браузер отобразит шрифт в соответствии с пользовательскими настройками этого браузера.
В спецификации сказано, что% отображается
http://www.w3.org/TR/CSS1/#font-size
В данном случае я понимаю, что это означает, на что настроен браузер.
источник
body
естьhtml
. такbody { font-size: 100%; }
будет 100%html
размера шрифта, а не по умолчанию в браузере. Однако обычно это одно и то же, так что вы фактически правы. Но иногда вы увидитеhtml { font-size: ??? }
правило.Процент в значении
font-size
свойства относительно размера шрифта родительского элемента . CSS 2.1 говорит об этом неясно и запутанно (имея в виду «унаследованный размер шрифта»), но CSS3 Text говорит об этом очень четко.Родителем
body
элемента является корневой элемент, то естьhtml
элемент. Если не установлен в таблице стилей, размер шрифта корневого элемента зависит от реализации. Обычно это зависит от настроек пользователя.Установка
font-size: 100%
во многих случаях бессмысленна, поскольку элемент наследует размер шрифта своего родителя (что приводит к тому же результату), если никакая таблица стилей не устанавливает собственный размер шрифта. Однако может быть полезно переопределить настройки в других таблицах стилей (включая таблицы стилей по умолчанию для браузера).Например,
input
элемент обычно имеет настройку в таблице стилей браузера, которая делает его размер шрифта по умолчанию меньше, чем у копируемого текста. Если вы хотите, чтобы размер шрифта был таким же, вы можете установитьinput {font-size: 100%}
Для
body
элементаfont-size: 100%
довольно часто используется логически избыточная настройка , так как считается, что она помогает от некоторых ошибок браузера (в браузерах, которые, вероятно, сейчас потеряли свое значение).источник
font-size:100%
может быть полезно, - это режим Quirks, где размеры шрифта не наследуются в таблицах. В этом стиле таблицы получают родительский размер шрифта. Конечно, никто в здравом уме больше не использует режим Quirks ...Он относительно размера шрифта браузера по умолчанию, если вы не замените его значением в pt или px.
источник
body
не произвольно вложенный элемент, поэтому ответ правильный с маленькой звездочкой :)Извините, если я опаздываю на вечеринку, но в своей редакции вы делаете замечание
font: 100% Georgia
, на которое другие ответы не ответили.Есть разница между
font: 100% Georgia
иfont-size:100%; font-family:'Georgia'
. Если бы это было все, что делал сокращенный метод, часть размера шрифта была бы бессмысленной. Но он также устанавливает для многих свойств значения по умолчанию: высота строки становитсяnormal
(или около 1,2), то же самое для стиля (без курсива) и веса (без жирного шрифта).Вот и все. В других ответах уже упоминалось все остальное, что нужно было упомянуть.
источник
Как вы убедительно показали,
font-size: 100%;
не во всех браузерах они будут отображаться одинаково. Однако вы зададите начертание шрифта в файле CSS, поэтому оно будет одинаковым (или резервным) во всех браузерах.Я считаю, что это
font-size: 100%;
может быть очень полезно в сочетании сem
базовым дизайном. Как показано в этой статье , это позволит создать очень гибкий веб-сайт.Когда это полезно? Когда вашему сайту нужно адаптироваться к пожеланиям посетителей. Возьмем, к примеру, пожилого человека, у которого размер шрифта по умолчанию составляет 24 пикселя. Или кто-то с маленьким экраном с большим разрешением, который увеличивает размер шрифта по умолчанию, потому что в противном случае ему придется щуриться. Большинство сайтов сломались бы, но сайты на базе электронных писем могут справиться с этими ситуациями.
источник
Относительно размера по умолчанию, определенного для этого шрифта.
Если кто-то открывает вашу страницу в веб-браузере, он использует шрифт и размер шрифта по умолчанию.
источник
В соответствии со ВСЕМИ СПЕЦИФИКАМИ, ОТНОСЯЩИМИСЯ ДО 1996 г. , процентные значения
font-size
относятся к (вычисленному) размеру шрифта родительского элемента .<style> div { font-size: 16px; } span { font-size: 75%; } </style> <div><span>this font size is 12px!</span></div>
Это так просто.
Что, если
div
объявит относительный размер шрифта, напримерem
s, или, что еще хуже, другой процент ?? См. «Вычислено» выше. Независимо от того, в какую абсолютную единицу преобразуется относительная единица.Единственный вопрос, который остается, - что происходит, когда вы используете процентное значение для корневого элемента, у которого нет родителя:
html { font-size: 62.5%; /* 62.5% of what? */ }
В таком случае см. «Дубликат» этого вопроса. TL; DR: проценты в корневом элементе относятся к размеру шрифта браузера по умолчанию, который может отличаться для каждого пользователя.
Ссылки:
источник
Насколько я понимаю, это помогает вашему контенту адаптироваться к различным значениям семейства шрифтов и размерам шрифтов, тем самым делая ваш контент масштабируемым. Что касается наследования размера шрифта, мы всегда можем изменить его, указав определенный размер шрифта для элемента.
источник