/*Font Awesome*/ /*Prism.js*/

CSSプロパティperspectiveとは?!書き方を解説

CSSアニメーションとかで使うperspectiveって何?!

そんな疑問に答えます。

CSSのperspectiveとは

一言でいうと、奥行きを与えるプロパティです。

見た方が分かりやすいと思うので、例をあげますね。

See the Pen Perspective Sample by Yuhomyan (@yuhomyan) on CodePen.

鹿をハバーしてみてください。

こんな感じで、要素にtransformを適用するとき、奥行き(Z軸)を与えることができます。

奥行きの深さは数字、もしくは具体的なpxで指定することが可能です。

perspective:500; みたいな感じです💡

perspectiveの記述の仕方

こんな感じで記述します。

perspectiveを指定した場合


<style>
p.prefix {
perspective:500;
-moz-perspective:500;
-webkit-perspective:500;
-o-perspective:500;
-ms-perspective:500;
}
p.prefix img{
width: 150px;
height: 100px;
-moz-transform: rotateY(70deg);
-webkit-transform: rotateY(70deg);
-o-transform: rotateY(70deg);
-ms-transform: rotateY(70deg);
}
</style>
<p class="prefix"><br>
<img src="https://images.unsplash.com/photo-1487300001871-12053913095d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80" width="150px" height="100px" border="0">
</p>

perspectiveを指定しない場合


<style>

p.prefix img{
-moz-transform: rotateY(70deg);
-webkit-transform: rotateY(70deg);
-o-transform: rotateY(70deg);
-ms-transform: rotateY(70deg);
}
</style>
<p class="prefix">
<br>
<img src="https://images.unsplash.com/photo-1487300001871-12053913095d?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1500&q=80" width="150px" height="100px" border="0">
</p>

2つの比較

ハバーアニメーションにするとより違いが分かりやすいと思います

ベンダープレフィックスあり

ベンダープレフィックスなし

かわいくて楽しいですね😄

perspectiveを使って作ったボタン

See the Pen Satisfying Button (Neumorphism) by Yuhomyan (@yuhomyan) on CodePen.

この中にも、perspectiveを使って作られたものもあります。

こんな感じで、perspectiveを指定すると立体感を出すことができます!

CSS表現の幅が広がるので是非知っておきたいところですね!