ボタンクリックで各CSSが見れます(SCSSでの記述になります。)
ボタン01透明度を下げる ボタン02影を付けて押した感じに ボタン03角丸 ボタン04ボタン自体を小さく ボタン05縦方向に1回転 ボタン06形変更 ボタン07色反転 ボタン08四辺から中央に向けて色変更 ボタン09右から徐々に色変更 ボタン10斜めに色変更 ボタン11中央から円形に色変更 ボタン12左上と右下から色変更 ボタン13背景色を下線に ボタン14テキストシャドウ ボタン15文字拡大 ボタン16文字間広く ボタン17テキストの一部非表示 ボタン18枠線① ボタン19枠線② ボタン20枠線③全てのボタン共通
a {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 20%;
height: 70px;
margin: 0 2.5% 30px;
background-color: #000;
color: #fff;
font-size: 16px;
text-decoration: none;
transition: all 0.3s ease;
&, &::before, &::after {
box-sizing: border-box;
}
}
ボタン02:影を付けて押した感じに
a.btn02 {
box-shadow: 5px 5px 5px #000;
&:hover {
box-shadow: 0 0 0 #000;
transform: translate(5px,5px);
}
}//_btn02
↑一覧へ
ボタン05:縦方向に1回転
a.btn05 {
transition-duration: 1.5s;
&:hover {
transform: rotateX(360deg);
}
}//_btn05
↑一覧へ
ボタン07:色反転
a.btn07 {
border: 2px solid #000;
&:hover {
background-color: #fff;
color: #000;
}
}//_btn07
↑一覧へ
ボタン08:四辺から中央に向けて色変更
a.btn08 {
&:hover {
border: 35px solid #00f;
white-space: nowrap;
}
}//_btn08
↑一覧へ
ボタン09:右から徐々に色変更
a.btn09 {
background: linear-gradient(to right, #000 25%, #00f 75%) no-repeat 0 0 / 400% 100%;
background-position: 0 0;
&:hover {
background-position: 100% 0;
}
}//_btn09
↑一覧へ
ボタン10:斜めに色変更
a.btn10 {
position: relative;
z-index: 1;
overflow: hidden;
&:hover {
&::before {
transform-origin: top right;
transform: skewX(-45deg) translateX(0);
}
}
&::before {
content: '';
width: 135%;
height: 100%;
background-color: purple;
position: absolute;
top: 0;
left: 0;
z-index: -1;
transform-origin: top left;
transform: skewX(-45deg) translateX(-100%);
transition: inherit;
}
}//_btn10
↑一覧へ
ボタン11:中央から円形に色変更
a.btn11 {
position: relative;
z-index: 1;
overflow: hidden;
&:hover {
&::before {
transform: scale(1) translate(-50%,-50%);
}
}
&::before {
content: '';
width: 120%;
padding-top: 120%;
border-radius: 100%;
background-color: purple;
position: absolute;
top: 50%;
left: 50%;
z-index: -1;
transform-origin: top left;
transform: scale(0) translate(-50%,-50%);
transition: inherit;
}
}//_btn11
↑一覧へ
ボタン12:左上と右下から色変更
a.btn12 {
position: relative;
z-index: 1;
overflow: hidden;
&:hover {
&::before, &::after {
width: 100%;
height: 100%;
}
&::before {
border-top: 36px solid #0f0;
border-left: 100px solid #0f0;
border-right: 100px solid transparent;
border-bottom: 35px solid transparent;
}
&::after {
border-top: 35px solid transparent;
border-left: 100px solid transparent;
border-right: 100px solid #0f0;
border-bottom: 36px solid #0f0;
}
}
&::after, &::before {
content: '';
width: 0;
height: 0;
background-color: transparent;
position: absolute;
z-index: -1;
transition: inherit;
}
&::after {
right: 0;
bottom: 0;
}
&::before {
top: 0;
left: 0;
}
}//_btn12
↑一覧へ
ボタン13:背景色を下線に
a.btn13 {
border: 2px solid #000;
background-color: transparent;
position: relative;
z-index: 1;
&:hover {
color: #000;
&::before {
width: 70px;
height: 2px;
}
}
&::before {
content: '';
width: 100%;
height: 100%;
background-color: #000;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
z-index: -1;
transition: inherit;
}
}//_btn13
↑一覧へ
ボタン17:テキストの一部非表示
a.btn17 {
&:hover {
span {
height: 0;
}
}
span {
height: 18px;
overflow: hidden;
}
}//_btn17
↑一覧へ
ボタン18:枠線①
a.btn18 {
position: relative;
&:hover {
&::after, &::before {
width: 100%;
}
}
&::after, &::before {
content: '';
width: 0;
height: 2px;
background-color: #f0f;
position: absolute;
left: 0;
z-index: 1;
transition: inherit;
}
&::after {
top: 0;
}
&::before {
bottom: 0;
}
}//_btn18
↑一覧へ
ボタン19:枠線②
a.btn19 {
position: relative;
&:hover {
&::after, &::before {
width: 100%;
height: 100%;
border-width: 2px;
}
}
&::after, &::before {
content: '';
width: 0;
height: 0;
background-color: transparent;
position: absolute;
transition: inherit;
}
&::after {
border-top: 0 solid #0f0;
border-left: 0 solid #0f0;
top: 0;
left: 0;
}
&::before {
border-right: 0 solid #0f0;
border-bottom: 0 solid #0f0;
right: 0;
bottom: 0;
}
}//_btn19
↑一覧へ
ボタン20:枠線③
a.btn20 {
position: relative;
&:hover {
&::before {
animation: border-l 0.5s ease 0s 1 normal forwards running;
}
&::after {
animation: border-r 0.5s ease 0.5s 1 normal forwards running;
}
}
&::before, &::after {
content: '';
background-color: transparent;
position: absolute;
}
&::before {
top: 0;
left: 0;
z-index: 1;
@keyframes border-l {
0% {
border-top: 2px solid #0ff;
border-right: 2px solid #0ff;
width: 0;
height: 0;
}
65% {
border-top: 2px solid #0ff;
border-right: 2px solid #0ff;
width: 100%;
height: 2px;
}
100% {
border-top: 2px solid #0ff;
border-right: 2px solid #0ff;
width: 100%;
height: 100%;
}
}
}
&::after {
right: 0;
bottom: 0;
z-index: 1;
@keyframes border-r {
0% {
border-left: 2px solid #0ff;
border-bottom: 2px solid #0ff;
width: 0;
height: 0;
}
65% {
border-left: 2px solid #0ff;
border-bottom: 2px solid #0ff;
width: 100%;
height: 2px;
}
100% {
border-left: 2px solid #0ff;
border-bottom: 2px solid #0ff;
width: 100%;
height: 100%;
}
}
}
}//_btn20
↑一覧へ