Result
角についた印がマウスホバーで伸びてくる、というアニメーションエフェクトです。
css
.btn {/*ボタンのスタイル*/ border: none; display: block; text-align: center; cursor: pointer; text-transform: uppercase; outline: none; overflow: hidden; position: relative; color: #fff; font-weight: 700; font-size: 15px; background-color: #222; padding: 17px 60px; margin: 0 auto; } .btn span {/*内包されたテキスト要素。要素が被さっても文字が見えるよう、上のレイヤーにしておく*/ position: relative; z-index: 1; } .btn:after {/*印+ホバーで伸びてくる要素。疑似要素として追加し。回転、位置調整*/ content: ""; position: absolute; left: 0; top: 0; height: 490%; width: 140%; background: #78c7d2; transition: all .5s ease-in-out; transform: translateX(-98%) translateY(-25%) rotate(45deg); } .btn:hover:after {/*ホバー時に伸ばす*/ transform: translateX(-9%) translateY(-25%) rotate(45deg); }
html
<div class="button_container"> <button class="btn"><span>Hover me!</span></button> </div>