【发布时间】:2021-05-07 04:16:21
【问题描述】:
我想在 div 上做一个类似于该效果的第一部分(“HOVER ME”)的效果。在我的例子中,当鼠标悬停在 div 上时,我希望第一个文本向下移动,另一个从上方显示,但没有单独的字母,并且与第一个变换效果完全相同。我还想在用户将鼠标从顶部移开时进行反向过渡。 我最大的问题是我不懂 Haml 和 SASS,所以我希望有人帮助我在 HTML 和 CSS 中开发这种效果。
哈姆代码:
%a.h-button.centered{'data-text'=>"Hover me","href"=>"#","aria-label"=>"#{word}"}
- word.split(//).each do |letter|
%span #{letter}
SASS 代码:
@import url('https://fonts.googleapis.com/css?family=Roboto:900')
$letters: 6
body
background: #111
a
font-family: 'Roboto', sans-serif
font-weight: 900
color: black
text-decoration: none
.centered
position: absolute
left: 50%
top: 50%
transform: translate(-50%, -50%)
.h-button
background: white
padding: 20px
width: 250px
text-align: center
span
display: inline-block
min-width: 0.30em
text-transform: uppercase
transition: .25s cubic-bezier(0.5,-1, 0.5, 2)
opacity: 0
transform: translate(0,-20px)
&:before
content: attr(data-text)
position: absolute
width: 100%
left: 0
transition: .25s cubic-bezier(0.5,-1, 0.5, 2)
text-transform: uppercase
letter-spacing: 3.5px
opacity: 1
transform: translate(0,0px)
&:hover,&:focus
&:before
opacity: 0
transform: translate(0, 20px)
span
opacity: 1
transform: translate(0, 0)
@for $i from 1 through $letters
span:nth-child(#{$i})
transition-delay: 0.025s * $i
【问题讨论】:
-
您可以做的最简单的事情是在每个 codepen 窗格(右上角)的下拉菜单中单击“查看已编译的 HTML/SASS”,然后您就会得到您想要/理解的内容!