JavaScriptで要素に2D・3D変換を適用する方法
JavaScriptのtransformプロパティとは
JavaScriptで要素に2Dまたは3D変換を適用するには、transformプロパティを使用します。このプロパティは、要素のstyleオブジェクト(element.style.transform)を通じて動的に設定でき、回転・拡大縮小・移動・傾斜など、さまざまな視覚効果を実現できます。
例えば、要素を60度回転させたい場合は値として「rotate(60deg)」を設定します。他にも用途に応じて複数の変換関数が用意されています。
主なtransform関数の一覧
- rotate() … 要素を回転させる
- scale() … 要素を拡大・縮小する
- translate() … 要素を移動させる
- skew() … 要素を傾斜させる
- matrix() … 行列を指定して変換を定義する
サンプルコード
以下は、ボタンをクリックするとJavaScriptによって要素に2D変換(60度の回転)を適用する実装例です。
<!DOCTYPE html>
<html>
<head>
<style>
#box {
margin-left: 20px;
border: 2px solid black;
width: 300px;
height: 250px;
background-color: gray;
color: white;
}
</style>
</head>
<body>
<button onclick = "display()">Apply</button>
<div id = "box"><p>Demo Text</p></div>
<script>
function display() {
document.getElementById("box").style.transform = "rotate(60deg)";
}
</script>
</body>
</html>コードの解説
このサンプルでは、「Apply」ボタンをクリックするとdisplay()関数が呼び出されます。関数内では、document.getElementById("box")でid属性が「box」のdiv要素を取得し、そのstyle.transformに「rotate(60deg)」を代入しています。その結果、グレーのボックスが中心を軸に60度回転します。
なお、3D変換を適用したい場合は、「rotateX()」「rotateY()」「translateZ()」などの3D対応の関数を使用します。また、変化を滑らかに見せたい場合は、CSSのtransitionプロパティと組み合わせると効果的です。
-
JavaScriptで要素が非表示になっているかどうかを確認する方法
Webページの開発では、特定の要素が現在非表示になっているかどうか(display: none が適用されているか)を判定したい場面がよくあります。JavaScriptでこれを実現するには、window.getComputedStyle() メソッドを使うのが一般的です。このメソッドは、CSSスタイルシートで設定された実際の表示状態を取得できるため、確実に非表示状態をチェックできます。 実装例 以下は、ボタンをクリックすると非表示になっているDIV要素を表示するサンプルコードです。クリック時には、まず getComputedStyle() で要素が「none」になっているかどうかを確認してから
-
CSSのtransformプロパティで要素に2D・3D変換を適用する方法
CSSでは、transformプロパティを使うことで、HTML要素に2Dまたは3Dの変換(トランスフォーム)を簡単に適用できます。回転、移動、拡大縮小、傾斜など、さまざまな視覚効果をJavaScriptに頼らず純粋なCSSだけで実現できるのが大きな魅力です。 transformプロパティの基本的な使い方 最もシンプルな例として、rotate()関数を使って要素を回転させる方法を見てみましょう。以下のコードでは、グレーのdiv要素が時計回りに10度回転して表示されます。 サンプルコード <!DOCTYPE html> <html> <head> <sty