CSS: 100% размер шрифта-100% чего?


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

процент ( % ): процентная единица очень похожа на единицу "em", за исключением нескольких фундаментальных различий. Прежде всего, текущий размер шрифта равен 100% (т. е. 12pt = 100%). При использовании единицы процента ваш текст остается полностью масштабируемым для мобильных устройств и для доступа.

Источник:http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

но если вы говорите " ie 12 pt = 100%", то это означает, что вы сначала должны определить font-size: 12pt. Так вот как это работает? Вы сначала определяете размер в абсолютной мере, а затем ссылаетесь на это как " 100%"? Не имеет большого смысла, как многие образцы говорят, что полезно поставить:

body {
  font-size: 100%;
}

делая это, что - размер шрифта относительно? Я замечаю, что размер, который я вижу на экране, отличается для каждого шрифта. Например, Ариал выглядит намного больше, чем Times New Roman. Кроме того, если бы я просто сделал это, размер тела = 100%, был бы это означает, что это будет то же самое на всех браузерах? Или только если я сначала определю абсолютное значение?

ОБНОВЛЕНИЕ, СБ ИЮЛЬ 23

я добираюсь туда, но, пожалуйста, потерпите меня.

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

  1. это стандартный размер всегда одинаковый для каждой версии браузера, или они различаются между версиями?
  2. я ! нашел (см. рисунок ниже) настройки для Google Chrome (никогда не смотрел на это раньше!), и я вижу стандарт "засечки"," без засечек "и" моноширинные " настройки. Но как я могу интерпретировать это для других шрифтов? Скажем, я определяю font: 100% Georgia;, какой размер взять браузер? Будет ли он искать стандартный размер для засечек, или шрифт "Грузия" имеет стандартный размер для браузера
  3. на нескольких сайтах я читать такие вещи, как 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:

вот как я думаю вещи может похоже, если вы не определяете размер в абсолютных значениях.

9 119

9 ответов:

браузер по умолчанию, который является чем-то вроде 16pt для Firefox, вы можете проверить, перейдя в параметры Firefox, нажав на вкладку содержимое и проверив размер шрифта. Вы можете сделать то же самое и для других браузеров.

мне лично нравится контролировать размер шрифта по умолчанию на моих сайтах, поэтому в файле CSS, который включен в каждую страницу, Я установлю тело по умолчанию, например:

body {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px
}

теперь размер шрифта всех моих HTML-тегов будет наследовать размер шрифта 14px.

скажите, что я хочу, чтобы все дивы имели размер шрифта на 10% больше, чем тело, я просто делаю:

div {
    font-size: 110%
}

теперь любой браузер, который просматривает мои страницы, автоматически сделает все divs на 10% больше, чем у тела, что должно быть примерно 15.4 px.

если я хочу, чтобы размер шрифта всех div был на 10% меньше, я делаю:

div {
    font-size: 90%
}

это сделает все дивы имеют размер шрифта 12.6 px.

также вы должны знать, что, поскольку размер шрифта унаследовано, что каждый вложенный div уменьшит размер шрифта на 10%, поэтому:

<div>Outer DIV.
    <div>Inner DIV</div>
</div>

внутренний div будет иметь размер шрифта 11.34 px (90% от 12.6 px), который, возможно, не был предназначен.

это может помочь в объяснении: http://www.w3.org/TR/2011/REC-CSS2-20110607/syndata.html#value-def-percentage

Я понимаю, что когда шрифт установлен следующим образом

body {
  font-size: 100%;
}

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

спецификация говорит, что % отображается

относительно размера шрифта родительского элемента

http://www.w3.org/TR/CSS1/#font-size

в этом случае я понимаю, что это означает, что браузер настроен.

процент в значении font-size собственность является по отношению к размер шрифта родительского элемента. CSS 2.1 говорит об этом неясно и путано (ссылаясь на "унаследованный размер шрифта"), но CSS3 Text говорит это очень четко.

родитель body элемент является корневым элементом, т. е. html элемент. Если не задано в таблице стилей, размер шрифта корневого элемента зависит от реализации. Это обычно зависит от пользователя настройки.

задание font-size: 100% бессмысленно во многих случаях, поскольку элемент наследует размер шрифта своего родителя (что приводит к тому же результату), если ни одна таблица стилей не устанавливает свой собственный размер шрифта. Однако может быть полезно переопределить параметры в других таблицах стилей (включая таблицы стилей браузера по умолчанию).

например,input элемент обычно имеет настройки в таблице стилей браузера, что делает его размер шрифта по умолчанию меньше, чем размер текста копирования. Если вы хотите сделать размер шрифта то же самое, вы можете установить

input { font-size: 100% }

на body элемент, логически избыточный параметр font-size: 100% используется довольно часто, как считается, чтобы помочь против некоторых ошибок браузера (в браузерах, которые, вероятно, потеряли свое значение в настоящее время).

Это относительно размера шрифта браузера по умолчанию, если вы не переопределите его значением в pt или px.

Извините, если я опоздал на вечеринку, но в вашем редактировании вы делаете замечание о font: 100% Georgia, на который другие ответы не ответили.

есть разница между font: 100% Georgia и font-size:100%; font-family:'Georgia'. Если бы это было все, что делал метод стенографии, часть размера шрифта была бы бессмысленной. Но он также устанавливает множество свойств для их значений по умолчанию: высота линии становится normal (или около 1,2), то же самое для стиля (не курсив) и веса (не полужирный).

вот и все. Другой ответы уже упоминали все остальное, что можно было упомянуть.

как вы убедительно показали, то font-size: 100%; не будет отображаться одинаково во всех браузерах. Тем не менее, вы установите свой шрифт в свой CSS-файл, так что это будет то же самое (или запасной вариант) во всех браузерах.

Я считаю font-size: 100%; может быть очень полезно при объединении его с em-ориентированного проектирования. Как в этой статье показывает, что это создаст очень гибкий веб-сайт.

когда это полезно? Когда ваш сайт должен адаптироваться к пожеланиям посетителей. Взять для примера пожилой человек, который ставит свой размер шрифта по умолчанию в 24 px. Или кто-то с маленьким экраном с большим разрешением, который увеличивает его размер шрифта по умолчанию, потому что в противном случае он должен щуриться. Большинство сайтов сломались бы, но сайты на основе em способны справиться с этими ситуациями.

относительно размера по умолчанию, определенного для этого шрифта.

Если кто-то открывает вашу страницу в веб-браузере, там есть и размер шрифта по умолчанию он использует.

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

по данным ВСЕ ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ, НАЧИНАЯ С 1996 ГОДА, процентные значения на font-size обратитесь к родительскому элементу (компьютерной) размер шрифта.

<style>
div {
  font-size: 16px;
}
span {
  font-size: 75%;
}
</style>
<div><span>this font size is 12px!</span></div>

это так просто.

, что если div объявляет относительный размер шрифта, как emS, или еще хуже, другой процент?? Смотрите "вычисленный" выше. К какой бы абсолютной единице относительная единица ни была преобразована.

единственный вопрос, который остается то, что происходит при использовании процентного значения для корневого элемента, который не имеет родителя:

html {
  font-size: 62.5%; /* 62.5% of what? */
}

в таком случае смотрите "создать дубликат" этого вопроса. TLDR: проценты в корневом элементе относятся к размеру шрифта браузера по умолчанию, который может отличаться для каждого пользователя.

ссылки: