Комментарии 10
Есть пустой div со скролом, при добавление элементов в спецификации html\js заложено, что скрол будет прижат вверх.
Понятно что после «рендеринга» можно с помощью js сказать скролу иди в центр, но вопрос таков:
Можно ли с помощью этого shadow dom фиксировать перед добавлением элементов «скрол оставайся по центру даже если будут добавляться элементы»?
Считаю себя человеком, который собаку съел по части скролла.
Короткий ответ: фиксировать положение скролла можно только с помощью JS. Чтобы скролл оставался всегда по центру нужно каждый раз пересчитывать его положение при добавлении элементов.
Разные браузеры по разному отрабатывают сценарий изменения положения скролла при добавлении элементов в див со скролом. Например гугл хром пытается сохранить положение скролла на том же уровне при добавлении элементов, а фаерфокс при этом этого не делает (возможно информация уже не совсем актуальна). Спецификация не описывает этот случай поэтому решение остается на усмотрении разработчиков браузеров.
Я столкнулся с веб разработкой где-то в 2002 году и уже тогда все ждали смерти некробраузеров, тогда это был IE 6. Прошло 18 лет и у меня для вас плохие новости :)
Ну, IE6-то умер...
Есть своего рода полифил shadow dom’а. Работает в ie))
https://m.habr.com/ru/post/259187/
Про Shadow DOM