Прокрутка с исчезновением
Утилиты для добавления эффекта затухания к краям контейнера прокрутки.
Утилита scroll-fade состоит исключительно из CSS и основана на shadcn/scroll-fade. Никаких расширений для rxconfig.py не требуется, поскольку он использует синтаксис Tailwind v4.
Установка
Если ваш проект был настроен с помощью buridan init, у вас уже есть прокрутка. Он поставляется с пакетом buridan, который CLI импортирует в ваш глобальный файл CSS.
В противном случае установите пакет buirdan:
uv run buridan init
Использование
Добавьте scroll-fade или scroll-fade-y в контейнер прокрутки, т. е. элемент, имеющий overflow-y-auto.
Затухание учитывает прокрутку и отслеживает положение прокрутки:
- В состоянии покоя верхний край четкий, а нижний — бледнеет, намекая на наличие большего количества контента. – При прокрутке вверху появляется затухание, а в середине прокрутки оба края остаются блеклыми.
- В конце нижний край становится заостренным, показывая, что вы достигли последнего элемента.
Затухание применяется с помощью mask-image, поэтому оно растворяет сам контент, а не накладывает цвет. Маска использует линейное затухание от прозрачного к черному, поэтому она адаптируется к любому фону без необходимости настройки. Если ваша область прокрутки находится внутри карточки, поместите фон и рамку на обертку, а scroll-fade — на внутренний скроллер, чтобы затухание растворяло содержимое, а не карточку.
Прокрутка демо-версии Fade
Нет переполнения, нет исчезновения
Если содержимое не выходит за пределы, затухание не отображается. Вы можете применить scroll-fade к любому списку, не проверяя, прокручивается ли он.
Горизонтальная прокрутка
Используйте scroll-fade-x для контейнеров, которые прокручиваются горизонтально, то есть для элемента, имеющего overflow-x-auto.
Краевые затухания
Используйте утилиты Edge, когда только один край должен отслеживать положение прокрутки.
scroll-fade-t
scroll-fade-b
scroll-fade-s
scroll-fade-e
Edge-утилиты поддерживают прокрутку. Начальные края исчезают после прокрутки от начала, а конечные края исчезают, когда вы достигаете конца. Используйте scroll-fade-t, scroll-fade-b, scroll-fade-l и scroll-fade-r для физических границ. Используйте scroll-fade-s и scroll-fade-e для логических встроенных ребер.
Размер исчезновения
Глубина затухания по умолчанию равна 12% контейнера и ограничена 40 пикселями, поэтому высокие скроллеры остаются незаметными. Вместо этого используйте scroll-fade-<number>, чтобы установить фиксированный размер шкалы интервалов, так же, как работает scroll-mt-<number>.
scroll-fade-4
scroll-fade-24
Для одноразовых значений используйте произвольную длину или процент:
rx.el.div(..., class_name="scroll-fade overflow-y-auto scroll-fade-[15%]")
Чтобы затухать противоположные края на разную величину, используйте модификаторы для каждого края scroll-fade-t-<number>, scroll-fade-b-<number>, scroll-fade-s-<number> и scroll-fade-e-<number>. Они переопределяют Scroll-fade-
rx.el.div(..., class_name="scroll-fade overflow-y-auto scroll-fade-b-8 scroll-fade-t-2")
Отключение фейда
Используйте scroll-fade-none, чтобы убрать затухание. Он работает в любом порядке классов, поэтому типичное использование — адаптивное или с сохранением состояния.
scroll-fade
scroll-fade scroll-fade-none
Резервный вариант
Поведение с учетом прокрутки реализовано с помощью CSS scroll-driven animations, без использования JavaScript и прослушивателей прокрутки. В браузерах, которые не поддерживают анимацию, управляемую прокруткой, scroll-fade возвращается к статическому затуханию по обоим краям, а утилиты Edge возвращаются к статическому затуханию по выбранному краю.
Поскольку маска применяется к самому контейнеру прокрутки, видимая полоса прокрутки исчезает вместе с содержимым по краям. Соедините scroll-fade с no-scrollbar, который поставляется в одном пакете, если вы хотите полностью скрыть полосу прокрутки.