Add a link with a translate transirion

This commit is contained in:
2020-02-27 23:05:42 +01:00
parent c9fd287609
commit e212829db5
3 changed files with 66 additions and 4 deletions

View File

@@ -0,0 +1,15 @@
<script>
import * as fn from '../functions'
export let href = ''
export let text = ''
export let target = ''
export let rel = ''
</script>
<a {href} class="link-translate" {target} {rel}>
<slot />
<div class="text" data-text={text}>
<span>{text}</span>
</div>
</a>

View File

@@ -3,6 +3,7 @@
import { site, currentLocation } from '../store' import { site, currentLocation } from '../store'
// Components // Components
import LinkTranslate from '../atoms/LinkTranslate'
import Switcher from '../molecules/Switcher' import Switcher from '../molecules/Switcher'
</script> </script>
@@ -15,12 +16,13 @@
<ul class="footer__right"> <ul class="footer__right">
<li> <li>
<ul> <ul>
<li><a href="/credits">Credits</a></li> <li>
<LinkTranslate href="/credits" text="Credits" />
</li>
<li class="instagram"> <li class="instagram">
<a href="https://instagram.com/{$site.instagram}" target="_blank"> <LinkTranslate href="https://instagram.com/{$site.instagram}" text="Instagram" target="_blank">
<img src="/img/icons/instagram.svg" alt="Instagram"> <img src="/img/icons/instagram.svg" alt="Instagram">
<span>Instagram</span> </LinkTranslate>
</a>
</li> </li>
</ul> </ul>
</li> </li>

View File

@@ -63,3 +63,48 @@
} }
} }
} }
// Link with animated letters
.link-translate {
.text {
position: relative;
overflow: hidden;
&:after {
content: attr(data-text);
position: absolute;
top: 50%;
left: 0;
width: 100%;
text-align: center;
transform: translateY(-50%);
opacity: 1;
transition: all 275ms $ease-cubic;
will-change: transform, opacity;
}
span {
display: inline-block;
transform: translateY(-75%);
opacity: 0;
transition: all 275ms $ease-cubic;
will-change: transform, opacity;
}
}
// Hover
&:hover {
.text {
&:after {
transform: translateY(25%);
opacity: 0;
}
span {
transform: translateY(0);
opacity: 1;
}
}
}
}