codepens/link-hover-animation/dist/style.css

88 lines
1.6 KiB
CSS
Raw Normal View History

2023-10-06 23:12:53 +02:00
:root {
--text: #2B3044;
--line: #BBC1E1;
--line-active: #275EFE;
}
p {
font-size: 18px;
margin: 0;
color: var(--text);
}
p a {
display: inline-block;
position: relative;
text-decoration: none;
color: inherit;
margin: 0 var(--spacing, 0px);
-webkit-transition: margin .25s;
transition: margin .25s;
}
p a svg {
width: 76px;
height: 40px;
position: absolute;
left: 50%;
bottom: 0;
-webkit-transform: translate(-50%, 7px) translateZ(0);
transform: translate(-50%, 7px) translateZ(0);
fill: none;
stroke: var(--stroke, var(--line));
stroke-linecap: round;
stroke-width: 2px;
stroke-dasharray: var(--offset, 69px) 278px;
stroke-dashoffset: 361px;
-webkit-transition: stroke 0.25s ease var(--stroke-delay, 0s), stroke-dasharray 0.35s;
transition: stroke 0.25s ease var(--stroke-delay, 0s), stroke-dasharray 0.35s;
}
p a:hover {
--spacing: 4px;
--stroke: var(--line-active);
--stroke-delay: .1s;
--offset: 180px;
}
html {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
}
* {
box-sizing: inherit;
}
*:before, *:after {
box-sizing: inherit;
}
body {
min-height: 100vh;
display: -webkit-box;
display: flex;
font-family: 'Inter', Arial;
-webkit-box-pack: center;
justify-content: center;
-webkit-box-align: center;
align-items: center;
background: #F6F8FF;
}
body .dribbble {
position: fixed;
display: block;
right: 20px;
bottom: 20px;
}
body .dribbble img {
display: block;
height: 28px;
}
body .twitter {
position: fixed;
display: block;
right: 64px;
bottom: 14px;
}
body .twitter svg {
width: 32px;
height: 32px;
fill: #1da1f2;
}