Каковы преимущества использования Эмса вместо % в CSS?

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

14
задан Stephan Muller 3 January 2015 в 22:24
поделиться

4 ответа

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

  • Е.М. и% оба относительно размера шрифта родительского элемента (т. Е. 2EM и 200% всегда дают тот же результат)
  • EMS имеет историю в типографии (хотя CSS EM Не совпадает с типографическими EM)
  • Реализация браузера CSS имеет меньше ошибок с%, чем с EM

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

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

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

13
ответ дан 1 December 2019 в 14:11
поделиться

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

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

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

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

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

-121--2648656-

Личное мнение: используйте таблицу.

Каждый раз, когда вы пишете что-то вроде

label {
    width: 150px; /* or whatever width */
}

, вы смешиваете содержание и представление , потому что значение метки может быть вычислено только в том случае, если вы знаете, что она будет содержать, что идет вразрез с принципами семантических-CSS пуристов.

-121--3006974-

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

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

-1
ответ дан 1 December 2019 в 14:11
поделиться

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

-121--2648658-

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

2
ответ дан 1 December 2019 в 14:11
поделиться

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

1
ответ дан 1 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: