CSS辞典 transform-styleプロパティ解説

3D空間で変形する要素の子要素の配置方法を指定する「transform-styleプロパティ」の使用方法を記載

対応バージョン:CSS3/2.1

対応ブラウザ

ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:chrome
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:firefox
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:safari
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:ms edge
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:ms ie
ruby要素,rb要素,rt要素、rp要素、rtc要素 対応ブラウザ:opera
初期値flat
適用される要素変形可能な要素
モジュールCSS Transforms Level2
継承なし

概要・使用方法

{ transform-style: 配置方法;}

transform-styleプロパティ」は、3D空間で変形する要素の子要素の配置方法を指定します。親要素が3D空間で変形した時に、子要素も3D空間で変形するか、親要素と同一平面上に配置するか指定できます。

プロパティ解説

「preserve-3d」すると図にあるように、

指定できる値(壱)

flat子要素は親要素と同一平面上に配置されます。
preserve-3d子要素に指定した変形が適用され、親要素と子要素は別々に配置されます。

サンプルコード

<!DOCTYPE html>
<html lang="ja">
  <head>
    <title>transform-styleプロパティCSSフォントサンプルページ</title>
    <meta charset="uft-8">
    <style>
        
        .container1 {
            perspective: 500px;
            border: 1px solid black;
            width:150px;
            height: 150px;
        }
        
        .transform-style-flat {transform-style: flat;}
        .transform-style-preserve {transform-style: preserve-3d;}
        
        .transform-parent{
           transform: rotateY(50deg);
           background-color: rgba(200,0,200,0.6);
           width:150px;
           height: 150px;
        }
        
        .transform-child{
           transform-origin: top left;
           transform: rotateX(40deg);
           background-color: rgba(100,200,0,0.6);
           width:150px;
           height: 150px;
        }
    </style>
  </head>
  <body>
          <h1>transform-style: flat;</h1>
          <div class="container1">
              <div class="transform-parent transform-style-flat">
                  <div class="transform-child"></div>
              </div>
          </div>
          <h1>transform-style: preserve-3d;</h1>
          <div class="container1">
              <div class="transform-parent transform-style-preserve">
                  <div class="transform-child"></div>
              </div>
          </div>
  </body>
</html>

実行結果

transform-style: flat;

transform-style: preserve-3d;

chromeブラウザ実行結果

chrome


Firefox ブラウザ実行結果

Firefox


edgeブラウザ実行結果

edge


operaブラウザ実行結果

opera