@Deerenaros не было пикселей?)) Про зернистость плёнки не слышали? А про линеатуру? А про пресловутые dpi?
Размеры будут всегда. В абсолютных величинах, а относительных — неважно. При этом мне непонятно, что вы предлагаете в ответ.
Размер шрифта в html (это тот, который rem), задаётся (о боже!) в пикселях. Не вопрос — можете задать его в... vh, vw. Стоп, так они же тоже в пикселях:) То есть одна относительная величина задаётся в другой относительной величине. И это типа круто?
Теперь про бутстрап. Который с помощью препроцессора переводит колоночки в проценты. В проценты от чего же? От пикселей... Вот же незадача.
Для необходимости изменять размер шрифта введены Media Queries. И да — внутренние элементы наследуют размер кегля шрифта родителя и меняют его с помощью процентов. Ну или em, что одно и то же. Но модульную сетку не строят в em.
@vasIvas я первой версии в глаза не видел:) То ли 3-я, то ли 4-я версия EcmaScript была. Думаю, было и то, и то.
Ваша проверка != null не имеет смысла. Только !== null.
@Deerenaros пиксели были, есть и будут. Все современные мобильные устройства позволяют определять и поворот, и разрешение.
Ваши почти все дизайнеры всё так же рисуют макеты в попиксельном Photoshop, который изначально не предназначен для Web. Что не мешает умничать насчёт em. Чтобы и вам, и им было понятно, всё происходит от корневого элемента html. И вот же незадача — задавать размер шрифта в нём нужно в пикселях.
Вы привели пример, когда кто-то нарисовал в макете маленький шрифт, а другой не понимает, как использовать Media Queries.
Мы говорим про то, что всё уместно там, где уместно. Сетка, как и разрешение устройств, была и будет в пикселях. А текстовые элементы в кегле, который происходит, тем не менее, от пикселей в html.
@AMar4enko если бы речь шла про массив, то лучше forEach, search, reduce, every и прочие прелести:)
Я просто к тому, что и for, и while может использоваться без явного счётчика. И предложенные критерии вовсе не то.
1. Разрешение экрана ну никак с абстрактными em не связано. Шрифт для корневого элемента задаётся в настройках браузера. Это значит, что сайт, для которого сетка выстроена в em, слетит при любом изменении размера шрифта в html.
2. Пиксели были, есть и будут основой построения viewport. Более того, именно пиксели используются для Media Queries. Так же как и абсолютные величины. А вот никакие em в Media Queries не используются. Потому что никому неизвестно, что это такое.
3. Единственные величины, могущие связать размер шрифта и размеры клиентской части области просмотра — vmin, vmax, vh, vw. Которые считаются от размера viewport, то бишь в пикселях.
Из этого всего следует, что размеры в em нужно задавать ровно там, где и указал @iiil — для шрифтовых элементов. А модульную сетку на em не строят.
@Gasoid наверное это человек пьёт молоко «Молоко»:) Есть же понятие HTMLCollection и связанные с этим понятием механизмы неймспейсинга. Да и вообще использование атрибута name — это не класс воткнуть.
Я не проверял поддержку архаизма в виде document.all(), а до недавнего времени она была и в Chrome. и в IE, и в webkit, и в Opera (которая ещё Presto). С помощью этой коллекции значения id попадали в пространство имён window.