このウェブサイトはご利用の端末での閲覧に対応していません。
This website does not support your device.

transform-style”プロパティ:子要素を三次元空間に配置CSS3で追加

記事Aug. 24th,2021
子要素を三次元空間に配置するかを指定するプロパティ
この記事はCSS3に対応しています。
この記事はCSS3に対応しています。

プロパティについて

概要

初期値 transform-style: flat;
適用対象 変形可能要素
継承 No
パーセント値 パーセント値は指定できません
計算値 指定した値
アニメーション 離散

transform-style”プロパティは要素の子要素を三次元空間内に配置するか、二次元平面上に配置するかを指定するプロパティです。

transform-style”プロパティの値が“preserve-3d”である場合、要素は三次元描画コンテキストを生成するか、親要素が三次元描画コンテキストに参加していればその三次元描画コンテキストを拡張します。子要素は兄弟要素と共有された座標空間に配置され、三次元変形によって重なり合う順序を変更したり、交わらせたりすることができます。

transform-style”プロパティの値が“preserve-3d”である場合、三次元変形されない子要素やコンテンツはZ座標が“z=0”の平面に描画されます。

transform-style”プロパティの値が“preserve-3d”である場合、要素は新たな重ね合わせコンテキストと包含ブロックを生成します。

サンプルコード

div { transform-style: preserve-3d;}

説明
flat 子要素を二次元平面上に配置する
preserve-3d 子要素を三次元空間に配置する
共通キーワード

一部のプロパティと値の組み合わせは適用される前に一度子孫要素を平面上に構成する必要があります。このため、“transform-style”プロパティが以下のプロパティと同時に適用された場合、使用値は強制的に“flat”となります。

仕様書

定義されている仕様書
Level 1 Level 2
勧告候補(CR) 作業草稿(WD)
transform-style
定義なし

定義あり
Level 1 Level 2
勧告候補(CR) 作業草稿(WD)
flat
定義なし

定義あり
preserve-3d
定義なし

定義あり

使用例

子要素を三次元空間に配置

.sample-outer-box {
perspective: 800px;
transform-style: preserve-3d;
position: relative;
}

.sample-inner-box1 {
transform: rotate3d(1,-1,-1,45deg);
position: absolute;
background-color: #a8c97f; /* */
}

.sample-inner-box1:hover {
transform: none;
}

.sample-inner-box2 {
transform: rotate3d(1,1,1,70deg);
position: absolute;
background-color: #83ccd2; /* */
}

.sample-inner-box2:hover {
transform: none;
}
<div class="sample-outer-box-style-preserve-3d">
夏の帽額のあざやかなる、簾の外の高欄のわたりに、いとをかしげなる猫の、赤き首綱に白き札つきて、碇の緒くひつきて引きありくもなまめいたり。
<div class="sample-inner-box1">

</div>
<div class="sample-inner-box2">

</div>
</div>
夏の帽額のあざやかなる、簾の外の高欄のわたりに、いとをかしげなる猫の、赤き首綱に白き札つきて、碇の緒くひつきて引きありくもなまめいたり。

子要素を二次元平面に配置

.sample-outer-box {
perspective: 800px;
transform-style: flat;
position: relative;
}

.sample-inner-box1 {
transform: rotate3d(1,-1,-1,45deg);
position: absolute;
background-color: #a8c97f; /* */
}

.sample-inner-box1:hover {
transform: none;
}

.sample-inner-box2 {
transform: rotate3d(1,1,1,70deg);
position: absolute;
background-color: #83ccd2; /* */
}

.sample-inner-box2:hover {
transform: none;
}
<div class="css-supports-transform-style-flat">
夏の帽額のあざやかなる、簾の外の高欄のわたりに、いとをかしげなる猫の、赤き首綱に白き札つきて、碇の緒くひつきて引きありくもなまめいたり。
<div class="sample-inner-box1">

</div>
<div class="sample-inner-box2">

</div>
</div>
夏の帽額のあざやかなる、簾の外の高欄のわたりに、いとをかしげなる猫の、赤き首綱に白き札つきて、碇の緒くひつきて引きありくもなまめいたり。
一番上へ
トップにもどる
シェアする
シェアする
Facebookでシェアする
ツイート
Google+でシェア
Pocket
はてなブックマーク