CSS下的Button(三)
示例
代码
html
<button class="my-btn3">
<div class="svg-wrapper-1">
<div class="svg-wrapper">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
width="24"
height="24"
>
<path fill="none" d="M0 0h24v24H0z"></path>
<path
fill="currentColor"
d="M1.946 9.315c-.522-.174-.527-.455.01-.634l19.087-6.362c.529-.176.832.12.684.638l-5.454 19.086c-.15.529-.455.547-.679.045L12 14l6-8-8 6-8.054-2.685z"
></path>
</svg>
</div>
</div>
<span>Send</span>
</button>
css
.my-btn3 {
font-family: inherit;
font-size: 20px;
background: royalblue;
color: white;
padding: 0.7em 1em;
padding-left: 0.9em;
display: flex;
align-items: center;
border: none;
border-radius: 16px;
overflow: hidden;
transition: all 0.2s;
cursor: pointer;
}
.my-btn3 span {
display: block;
margin-left: 0.3em;
transition: all 0.3s ease-in-out;
}
.my-btn3 svg {
display: block;
transform-origin: center center;
transition: transform 0.3s ease-in-out;
}
.my-btn3:hover .svg-wrapper {
animation: fly-1 0.6s ease-in-out infinite alternate;
}
.my-btn3:hover svg {
transform: translateX(1.2em) rotate(45deg) scale(1.1);
}
.my-btn3:hover span {
transform: translateX(5em);
}
.my-btn3:active {
transform: scale(0.95);
}
@keyframes fly-1 {
from {
transform: translateY(0.1em);
}
to {
transform: translateY(-0.1em);
}
}