CSSのみで回転するボタン | 静岡県富士市のホームページ制作なら|SEQUENCE

ホーム > ブログ > CSSのみで回転するボタン
Blog
ブログ

CSSのみで回転するボタン

button
当サイトのボタンに使用しています。
某サイトを参考にしつつ使いながらここを変更するとこうなるんだーと覚えました。
CSSって凄いんですね、付いていけません。

【実装方法】
まずbuttonのclassで囲みます。
hoverした時に表示したい要素を最初にspanで
その後に最初に表示したい要素をspanで囲みます。

HTML
<a href=”button”><span>あと</span><span>最初</span></a>

CSS
.button {

	position: relative;
	-webkit-perspective: 300px;
	perspective: 300px;
}
.button span {
	display: block;
	position: absolute;
	width: 200px;
	height: 60px;
	border: 2px solid #333;
	text-align: center;
	line-height: 56px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
	pointer-events: none;
}
.button span:nth-child(1) {
	background-color: #333;
	color: #fff;
	-webkit-transform: rotateX(90deg);
	-moz-transform: rotateX(90deg);
	transform: rotateX(90deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button span:nth-child(2) {
	background-color: #fff;
	color: #333;
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
	-webkit-transform-origin: 50% 50% -30px;
	-moz-transform-origin: 50% 50% -30px;
	transform-origin: 50% 50% -30px;
}
.button:hover span:nth-child(1) {
	-webkit-transform: rotateX(0deg);
	-moz-transform: rotateX(0deg);
	transform: rotateX(0deg);
}
.button:hover span:nth-child(2) {
	background-color: #333;
	-webkit-transform: rotateX(-90deg);
	-moz-transform: rotateX(-90deg);
	transform: rotateX(-90deg);
}

高さを変えたら
transform-origin: 50% 50% -30px;
一番後ろの数字も高さ/2して変更しましょう。

あとは...適宜頑張って下さい!

参考にさせていただいたサイト