ボタン装飾サンプルコード
-
sample
ホバーすると色が薄くなるシンプルな装飾です
HTML
<a href="#" class="simple"></a>
css
.simple { text-align: center; display: inline-block; width: 300px; margin: 0 auto; padding: 5px 0; background-color: #333; color: #fff; transition: .4s; } .btn:hover { opacity: 0.7; }
-
sample
ホバーすると色が逆転する装飾です
HTML
<a href="#" class="r-btn"></a>
css
.r-btn { text-align: center; display: inline-block; width: 300px; margin: 0 auto; padding: 5px 0; border: 1px solid #333; background-color: #fff; color: #333; transition: .4s; } .btn:hover { background-color: #333; color: #fff; }
-
sample
ホバーすると色が左からスライドしてくる装飾です
sample18行目と25行目のtransform: translateX を transform: translateY に変更するだけで、色が上から降りてくる装飾になります
HTML
<a href="#" class="s-btn"></a>
css
.s-btn { text-align: center; display: inline-block; width: 300px; margin: 0 auto; padding: 5px 0; border: 1px solid #333; color: #333; transition: .4s; position: relative; overflow: hidden; } .btn::before { content: ""; display: inline-block; width: 100%; height: 100%; background-color: #333; transform: translateX(-100%); position: absolute; top: 0; left: 0; transition: .4s; } .btn:hover::before { transform: translateX(0); z-index: -1; } .btn:hover { color: #fff; }
-
sample
ホバーすると矢印が右にスライドする装飾です 次へ誘導するイメージです ※justify-content: space-between;を使って文字と矢印を両サイドに配置しています
HTML
<a href="#" class="ar-btn"></a>
css
.ar-btn { display: flex; justify-content: space-between; align-items: center; position: relative; padding: 5px 50px; width: 300px; color: #333; border: 1px solid #333; transition: .4s; } .btn::before { content: ""; position: absolute; top: calc(50% - 2px); right: 30px; background-color: #333; width: 60px; height: 2px; transition: .4s; } .btn::after { content: ""; background-color: #333; width: 8px; height: 2px; transform: translateY(-2px) rotate(30deg); position: absolute; top: calc(50% - 2px); right: 30px; transition: .4s; } .btn:hover::before,.btn:hover::after { right: -20px; }
-
sample
ホバーするとパソコンのカーソルボタンを押し込んだような動きの装飾です 文字色>背景色>text-shadowと色の濃さを薄くしていくことで文字が凹んでエンボス加工されているイメージです
HTML
<a href="#" class="emb-pc-btn"></a>
css
.emb-pc-btn { text-align: center; display: inline-block; border-radius: 5px; font-size: 1.6rem; font-weight: bold; width: 300px; margin: 0 auto; padding: 5px 0; background-color: #668ad8; color: #4d6599; border-bottom: 2px solid rgba(0, 0, 0, 0.3); box-shadow: 2px 4px 2px rgba(0, 0, 0, 0.3); text-shadow: 1px 1px 1px rgba( 255, 255, 255, 0.5); letter-spacing: 0.5rem; transition: .4s; } .btn:hover { border-bottom: 2px solid rgba(0, 0, 0, 0.1); box-shadow: 0 0 0 rgba( 0, 0, 0, 0); transform: translateY(4px); }
-
sample
グラデーションで丸みを出し、ホバーすると色が明るくなる装飾です
HTML
<a href="#" class="g-pc-btn"></a>
css
.g-pc-btn { text-align: center; display: inline-block; border-radius: 5px; font-size: 1.6rem; font-weight: bold; width: 300px; margin: 0 auto; padding: 5px 0; background-image: linear-gradient(#668ad8 0%, #4d6599 100%); text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); color: #4d6599; letter-spacing: 0.5rem; transition: .4s; } .btn:hover { background-image: linear-gradient(#668ad8 0%, #668ad8 100%); }
-
HTML
<a href="#" class="c-emb-btn"></a>
css
.c-emb-btn { display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 3rem; font-weight: bold; width: 100px; height: 100px; margin: 0 auto; background-image: linear-gradient(#668ad8 0%, #4d6599 100%); text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.5), 1px 2px 2px rgba(0, 0, 0, 0.5); color: #4d6599; border-bottom: 1px solid #4d6599; transition: .4s; } .btn:hover { background-image: linear-gradient(#668ad8 0%, #668ad8 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 0 1px rgba(0, 0, 0, 0.5); transform: translateY(2px); }
-
sample
ホバーすると文字のみが回転する装飾です
sample14行目のtransform: rotate(720deg);をtransform: rotateY(720deg);に変更するだけで円ごと回転します
HTML
<a href="#" class="c-rot-btn"></a>
css
.c-rot-btn { display: flex; align-items: center; justify-content: center; border-radius: 50%; width: 100px; height: 100px; margin: 0 auto; color: #4d6599; border: 4px double #4d6599; transition: .4s; } .c-rot-btn:hover { transform: rotate(720deg); }
-
sample
ホバーすると上下のボーダーが内側に伸縮する装飾です
HTML
<a href="#" class="bo-mv-btn"></a>
css
.bo-mv-btn { display: flex; align-items: center; justify-content: center; font-weight: bold; width: 300px; margin: 0 auto; padding: 15px 0; color: #4d6599; position: relative; } .btn::before { content: ""; background-color: #4d6599; width: 100%; height: 3px; position: absolute; top: 0; left: 0; transition: .4s; } .btn::after { content: ""; background-color: #4d6599; width: 100%; height: 3px; position: absolute; bottom: 0; left: 0; transition: .4s; } .btn:hover::before { top: 3px; width: 80%; margin-left: 10%; } .btn:hover::after { bottom: 3px; width: 80%; margin-left: 10%; }
-
tweet
ホバーするとツイッターのアイコンのみくるくる回転する装飾です ツイッターのアイコンはfont-awesomeのCDNを利用しています
HTML
<a href="#" class="tw-note-btn"></a>
css
.tw-note-btn { text-align: center; display: flex; align-items: center; width: 300px; margin: 0 auto; height: 60px; font-size: 20px; box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.2); } .btn .icon { width: 60px; height: 60px; line-height: 60px; background-color: #1da1f3; } .btn .icon i { color: #fff; transition: .4s; } .btn .tweet { width: calc(300px - 60px); letter-spacing: 0.2rem; background-color: #fff; } .btn:hover i { transform: rotateX(720deg); }