Локальный CSS-фон вложения и проблема нижнего положения с Edge/IE

Я пытаюсь показать градиент в конце прокрутки содержимого с помощью линейного градиента с background-position: bottom а также background-attachment: local, Это прекрасно работает во всех браузерах, кроме IE и Edge. Я мог бы просто принять это как есть, если бы везде не говорилось, что эта функция полностью разработана.

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

Важно, чтобы содержимое оставалось вертикально центрированным, если оно меньше, чем родительский, и градиент прокрутки работает в любом случае (большой / маленький контент и любая позиция прокрутки).

.scrollContent {
    display: flex;
    width: 200px;
    height: 200px;
    overflow-y: auto;

    background-image: linear-gradient(transparent, white 80%), radial-gradient(farthest-side at 50% 100%, rgba(0,0,0,.2), rgba(0,0,0,0));
    background-position: bottom;
    background-size: 100% 40px, 100% 10px;
    background-repeat: no-repeat;
    background-attachment: local, scroll;
}

.vcenter {
    flex-grow: 1;
    margin: auto;
}
<div class="scrollContent">
    <div class="vcenter">
        Scroll first <br>Scroll <br>Scroll <br>Scroll <br> Scroll <br>Scroll <br>Scroll <br> Scroll <br>Scroll <br>Scroll <br> Scroll <br>Scroll <br>Scroll <br>Scroll <br>Scroll last
    </div>
</div>

margin: auto Вертикальные центры сгибаются лучше, чем align-items: центр в среде прокрутки

В этом коде должно отображаться поле с переполненным содержимым, которое показывает градиент только при прокрутке до конца содержимого. В IE/Edge градиент уже показывает загрузку страницы в середине содержимого. И при прокрутке он прокручивает содержимое. Очень некрасиво и определенно не предназначено.

Здесь также есть несколько кодов, с которыми можно поиграть.

https://codepen.io/yesman82/pen/KJbrLo

0 ответов

Другие вопросы по тегам