Каковы преимущества использования ems вместо% в CSS? - PullRequest
14 голосов
/ 01 февраля 2010

Я понимаю преимущества использования ems в пользу статических измерений, таких как пикселей и точек , но почему большинство CSS-людей там (ТАК исключено) предпочитаете использовать ems вместо значений%?

Ответы [ 4 ]

13 голосов
/ 01 февраля 2010

Для размеров шрифта:

  • em и% оба относятся к размеру шрифта родительского элемента (то есть 2em и 200% всегда дают одинаковый результат)
  • ems имеют историю в типографии (хотя CSS-стиль не совпадает с типографским)
  • В браузерных реализациях CSS меньше ошибок с%, чем с em

Для всего остального (например, ширина элемента):

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

… так что они делают совершенно разные вещи и должны рассматриваться в каждом конкретном случае.

2 голосов
/ 01 февраля 2010

Ems основаны на известном и непротиворечивом значении (размер шрифта), тогда как процентное отношение основано на размере контейнера. Намного сложнее спроектировать и понять CSS, когда основа ваших размеров и размеров меняется в зависимости от контекста (в каком элементе / контейнере вы находитесь).

1 голос
/ 01 февраля 2010

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

0 голосов
/ 01 февраля 2010

Дайте 3-колоночный макет страницы с 25% / 50% / 25%, укажите шрифт, который позволяет разместить 6 строк статьи (размер шрифта 16%), по 5 статей на страницу (высота 20%)

Теперь представьте это на встроенном устройстве с разрешением экрана 320x200px

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