Лучшая единица измерения размеров шрифта в CSS

Каковы преимущества и недостатки каждого? em, px, % и pt?

Мой текущий выбор - это проценты, единственная причина в том, что я могу глобально изменить размер шрифта всех элементов, просто изменив размер шрифта в корневом элементе (тело)


person Alex    schedule 30.10.2011    source источник
comment
Вы можете глобально изменить font-size с помощью любого из этих устройств.   -  person yoda    schedule 31.10.2011
comment
я полагаю, что нет фиксированного правила большого пальца, я обычно использую em и %, поскольку они более относительные, чем px и pt, которые более абсолютны и могут не обеспечивать наилучшее возможное отображение. Взгляните на это: w3.org/Style/Examples/007/ unit.en.html   -  person Aman    schedule 31.10.2011


Ответы (5)


Я бы порекомендовал EM — просто потому, что я использую Baseline CSS для базовой настройки форм, макета и, что наиболее важно, шрифта.

Не могу рекомендовать это достаточно: http://baselinecss.com/

person Nitzan    schedule 03.11.2011
comment
возможно, он изменился с момента публикации этого ответа, но baselinecss.com использует пиксели для размеров шрифта (ноябрь 2012 г.) - person Michael Bylstra; 05.11.2012
comment
Да, похоже, что автор Baseline с тех пор отказался от использования em, как цитируется с домашней страницы Baseline: Baseline построен на пикселях, почти невозможно создать обычную базовую линию с использованием ems из-за ошибок округления единиц браузера, которые вызывают базовые линии на основе ems слегка сместятся непредсказуемым образом. - person thdoan; 27.08.2013

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

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

Я думаю, что часто лучше использовать em и %, поскольку они представляют собой уровень абстракции, особенно по сравнению с пикселями. Оба в некоторых отношениях похожи, поскольку «100%» = «1em». Еще одна проблема с пиксельной единицей заключается в том, что она не масштабируется вверх для слабовидящих читателей.
Сегодня для мобильных устройств, планшетов и т. д. зачастую лучше иметь отдельные таблицы стилей/правила для каждого из них.

Кроме того, для задач печати хорошо работает em.

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

person Michael Durrant    schedule 03.11.2011

Вот ссылка на одну из моих любимых статей о правильном изменении размера текста с помощью css от AListApart:

http://www.alistapart.com/articles/howtosizetextincss

Семантически предпочтительнее em, но я всегда находил его проблематичным, поскольку он влияет на каждый дочерний элемент включительно. Если ваш дизайн содержит 4 или 5 элементов div, размер каждого из которых равен 0,75 em, к тому времени, когда вы доберетесь до последнего дочернего элемента, ваш текст будет почти нечитаем.

Я предпочитаю pt, потому что он работает с различными операционными системами (позволяя самой системе решать, что такое pt), а не использовать px, который действительно может ухудшить читаемость сайта в зависимости от разрешения. Em считается «стандартом» для css, но у него столько же проблем, сколько и у других, но у него есть преимущество глобального каскадирования.

person Joel Etherton    schedule 04.11.2011

Я всегда использую ems. Использование % похоже на то же самое, но они означают другое при использовании их в операторе padding или margin (padding:1em 0; не то же самое, что padding:100% 0;). Так что просто используйте ems, я имею в виду, относительно текущего размера шрифта, и избегайте путаницы.

Дополнительным преимуществом или использованием ems является то, что вы могли бы, например. используйте медиа-запрос и body{font-size: 120%}, чтобы предоставить мобильным пользователям немного больший размер шрифта.

person Gerben    schedule 03.11.2011

Хороший вопрос!

Я использую пиксель, потому что мне нравится, когда все исправлено.

Но ознакомьтесь с этой статьей:

http://kyleschaeffer.com/best-practices/css-font-size-em-vs-px-vs-pt-vs/

может помочь вам сделать выбор. Я думаю, что все это очень личное. Или это зависит от того, что вы делаете, я полагаю

person GregM    schedule 03.11.2011