Михаил Хлебников: очень странно, но на виртуалке (версия 10.9.03 Mavericks через VMware Player) у меня скролл заработал и в хроме, и в сафари. В хроме как будто немного подлагивает, но т.к. виртуалка, там всё не очень плавно выглядит. В сафари выглядит несколько плавнее. В общем, странно как-то.
Михаил Хлебников: у меня в Firefox всё работает, проверил. Странно. На OS X могу проверить только через виртуалку, сейчас посмотрю) Ну, в любом случае, удачи вам в поисках хорошего решения :) Если вдруг найдёте, буду благодарен, если отпишете сюда.
Therapyx: под словом "размер" я подразумеваю любую величину (высота, ширина, отступы, размер шрифта и т.д.), которая может быть посчитана и в px, и в em/rem.
Therapyx: px задаёт шрифт в абсолютном значении (в пикселах). em — это размер, рассчитывающийся относительно размера родителя (т.е. если у родителя размер 16px, а вы напишете 1.25em, то размер у элемента будет 20px). rem — это root em, то есть относительный размер, но считающийся не от родителя, а от корневого элемента (html).
Зачем нужны em и rem. Скажем, у вас адаптивный сайт, и вам надо быстро изменить весь размер шрифта на сайте (например, под мобильное разрешение, уменьшить его). Если у вас всё задано в пикселах, вы будете для каждого элемента прописывать новый размер на нужном разрешении. Если же у вас все размеры шрифтов заданы в em/rem, то вы можете поменять только размер шрифта у html, и все остальные шрифты пересчитаются в соответствии со своими коэффициентами. Для адаптивной вёрстки это просто замечательная особенность. Да и в принципе для вёрстки.
Или вот нужно вам встроить фичу смены размера шрифта на всём сайте (для сайтов гос. организаций это обязательное требование, кстати). Вы просто делаете скрипт, который меняет размер шрифта у элемента html, и все остальные шрифты уменьшаются/увеличиваются соответственно.
Михаил Хлебников: всегда пожалуйста) Мне он понравился тем, что он является надстройкой над стандартным скроллом. Т.е. там есть стандартный скролл, просто он скрыт, и приделана стилизованная полоска. А это значит, что он полностью отвечает всем функциям нативного скролла (скролл стрелками, page up/page down, пробел, скролл средней кнопкой мыши и всё такое).
Вообще странно, что он у вас дёргается, там же внутри стандартный скролл спрятан.
Инициализация в файле script.js.
Там небольшая магия в onInit у селекта: мы инициализируем в нём скроллбар и ещё пресекаем всплытие события click, чтобы при клике на скроллбар селект не закрывался. joxi.ru/aD2PDX6iByZd23
И ещё я добавил ограничение по высоте (max-height: 200px) в файл scrollbar.css (там стандартные стили скролла, которые я вытащил из его демо).
Сергей Протько: нет, даже не знал про него. Но я сейчас посмотрел, увидел, что он использует какие-то прям бездны DOM-элементов, и мне страшно. По-моему, для мобильных устройств это не совсем подходит.
Сергей Протько: мы делаем для iOS и Android только, про Win ничего не могу сказать. На Android раньше несколько тупило, потому что в Cordova для него использовался какой-то древний WebView. Но недавно она обновилась, там теперь нормальный WebView, и всё вполне себе бегает.
Ещё использовали именно для Android штуку под названием CrossWalk, чтобы заменить тот ущербный WebView на нормальный. Но, насколько я знаю, теперь она не нужна, потому что Cordova обновилась.
Ещё хочу отметить такой момент, что сам по себе Framework7 в плане интерфейса рассчитан на iOS (компоненты в нём приближены по внешнему виду и поведению именно к этой ОС). Не для всех приложений на Android такой подход приемлем. Но нам не помешало, что понадобилось — перепилили.