Привет, меня зовут Стивен.
Веб-сайт Apple всегда был хорошим способом узнать что-то новое, например, на странице с описанием продукта недавно выпущенного iPhone 12.эффект затухания текста, на этот раз мы расскажем, как достигается этот эффект.
Видеоверсия этой инструкции находится по адресуWOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO, добро пожаловать, нажмите три раза и следуйте!
часть HTML
Откройте редактор CodePen и добавьте заголовок в раздел HTML.
Разделы CSS
Затем вы можете сосредоточиться на части CSS и добавитьbody
селектор, установите цвет фона на черный,margin
установить как0
,display
установить какflex
,justify-content
а такжеalign-items
установить какcenter
,min-height
установить как100vh
для центрирования содержимого на странице вверх, вниз, влево и вправо. !
тогда присоединяйтесьh1
селектор, шрифтfont-family
Установите на... да, вы угадали,Helvetica
.margin
а такжеpadding
установить как0
, установлен размер текста48px
, цвет белый.
Снова отрегулируйте расстояние между словами,letter-spacing
установить как0.3px
.
Тогда ключ здесь, установите фон градиентного цвета,background-image
установить какlinear-gradient()
, градиент градиента75deg
, цвет делится на четыре сегмента:
два белых и два полностью прозрачных белых, а затемbackground-size
, установленное в горизонтальном направлении300%
, вертикальное направление100%
.
Здесь это означает, что цвет градиента фона увеличивается в три раза по ширине, а затем мы переходим черезbackground-position-x
Отрегулируйте его положение.
0%
, вы увидите, что вся строка текста покрыта белым цветом, что эквивалентно градиентному фону, состоящему из0%
к33.3%
Цвет этого абзаца между:
установить как50%
Если да, то это33.3%
к66.67%
Цвет между ними, так что это градиент от белого к прозрачному:
установить как100%
,то есть66.67%
прибыть100%
цвет между ними. Прозрачный цвет в прозрачный цвет, результат также прозрачный цвет:
Так что нам просто нужно поставить этоbackground-position-x
,Зависит от100%
динамически меняться на0%
, можно добиться эффекта постепенного ввода текста.
Что ж, поняв принцип градиентного цвета, вы можете применять градиентный цвет к тексту. Будуbackground-clip
установить какtext
, затем установите цвет самого текста на прозрачныйtransparent
.
тогда присоединяйтесьh1:hover
селектор, будетbackground-position-x
установить как0%
. Наконец, добавьте настройки перехода анимацииtransition: 2s background-position-x ease-in-out
.
Проверьте это, теперь вы можете сделать этот эффект затухания текста:
Если вы хотите, чтобы этот эффект постепенного появления срабатывал только при прокрутке страницы, мы можем внести некоторые изменения.
Срабатывает при прокрутке страницы
Сначала добавьтеclass
по имениsticky
из<div>
, с этим заголовком:
затем вbody
в селекторе убериflex
, установите высоту страницы, например.3
раз,300vh
.
Присоединяйся.sticky
селектор, наборposition
даsticky
,top
да0
, то есть когдаsticky
это<div>
сверху страницы0px
Запускается вверху страницы. высота установлена на100vh
,display
установить какflex
,justify-content
а такжеalign-items
установить какcenter
:
В разделе JavaScript добавьтеdocument.addEventListener()
Слушайте события прокрутки страницыscroll
, а затем создайте переменную, которая будетdocument.documentElement.scrollTop
Поделить наscrollHeight
минусclientHeight
, так что этоscrolled
Когда страница прокручивается до конца,1
, при прокрутке вверх0
:
Тогда как обновлять при прокруткеbackground-position-x
Шерстяная ткань? Присоединяйсяconst h1
, назначенный какdocument.querySelector('h1')
Будуh1
Вернись. черезh1.style.setProperty()
,настраивать-percentage
, это наш обычайCSS
имя переменной, установленное значение${scrolled * 100}%
:
В разделе CSS добавьте:root
селектор, инициализировать-percentage
для0%
,Потомbackground-position-x
установить какcalc(100% - var(--percentage))
,Будуtransition
а такжеh1:hover
удалены настройки:
Давайте посмотрим на завершенный эффект этого случая
Это все для этого эпизода.
Пожалуйста, обратите вниманиеМинимальный класс CodingStartup:
- Станция Б:space.bilibili.com/451368848
- YouTube: YouTube.com/кодирование начало…
- Самородки:Талант /user/249773…