#html #css #animation #svg #font-awesome
#HTML #css #Анимация #svg #шрифт-потрясающий
Вопрос:
Я хочу добавить анимацию к своему шрифту — потрясающая иконка в виде сердца, я хочу иметь эффект волны при наведении курсора мыши и щелчке.
И он должен быть пустым, иначе не черным, как far fa-heart
. Но я не знаю как, и я занимался этим часами
У меня есть это на данный момент
.plop{
height: 200px;
}
#wrap{
height: 25px;
width: 25px;
overflow: hidden;
border:0px;
}
#banner {
height: 25px;
width: 25px;
}
.fill {
animation-name: fillAction;
animation-iteration-count: 1;
animation-timing-function: cubic-bezier(.2, .6, .8, .4);
animation-duration: 3s;
animation-fill-mode: forwards;
mix-blend-mode:screen;
}
#waveShape{
animation-name: waveAction;
animation-iteration-count: infinite;
animation-timing-function: linear;
animation-duration: 2s;
width: 25px;
height: 25px;
fill: #04ACFF;
}
#wrap i{
position: absolute;
font-size:25px;
background:#fff;
}
@keyframes fillAction {
0% {
transform: translate(0, 25px);
}
100% {
transform: translate(0, -25px);
}
}
@keyframes waveAction {
0% {
transform: translate(-45px, 0);
}
100% {
transform: translate(0, 0);
}
}
<script src="https://kit.fontawesome.com/8ac5de0510.js" crossorigin="anonymous"></script>
<section class="plop">
<div id="wrap">
<i class="fas fa-heart" id="banner"></i>
<div class="fill">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="50px" viewBox="0 0 50 50" xml:space="preserve">
<path id="waveShape" d="M 300 300 V 2.5 c 0 0 0 -0.5 -1 0.5 c 0.1 2.6
-28 6 -40.5 -2.4 c -3.5 -1.6 -40.6 2.4 -40.6 2.4 c -12.3 1.1 -23.9 5
-31.9 6 c -2 -0.1 -27.1 2.4 -32 -1.9 c 0 0 -33.1 -7.7 -40.1 -5.7 c -18.1
10.4 -40.8 2.4 -40.8 2.4 c -7.3 -1 -19.1 -2.8 -32.1 5.2 c -7 4 -20 -1
-32.2 -1.9 c 0 0 -3.1 -0.3 -8.1 -0.7 V 300 H 300 z"/>
</svg>
</div>
</div>
</section>
Комментарии:
1. вопрос не ясен, если вы хотите, чтобы значок был пустым перед наведением курсора, тогда color: transparent будет работать. Пожалуйста, предоставьте подробную информацию о том, что вы хотите сделать, чтобы мы могли вам в этом помочь.
2. @RaashidDinDar к сожалению, я не думаю, что color transparent будет работать, потому что анимация зависит от режима смешивания: экран, поэтому там должны быть некоторые изменения.
3. Когда вы говорите, что сердце должно быть пустым для начала, нормально ли, если оно белое, а не прозрачное?
4. итак, вы хотите добавить анимацию к значку при наведении курсора мыши. Тогда было бы лучше добавить стиль наведения на значок, например #banner: hover { Свойства CSS, включая анимацию здесь }. проверьте псевдо-свойство наведения
5. Просто чтобы отметить, что данный код дает другой эффект при использовании с более поздними версиями Fontawesome (они используют SVG для отображения значков).