perspective-origin の初期値は 50% 50% 。省略されている場合はこの初期値が反映される。3D変形させた時の要素の奥行きの起点を指定するプロパティであり、perspective-originプロパティは、perspectiveプロパティと合わせて指定する。
全体を覆うdiv(.background)の中に左に画像を収めるdiv(.leftcol)、右に流れるテキスト(perspective を使うdiv)が収まるdiv(.container)をグリッドレイアウトで組む。div(.container)の配下には一行のテキストをコントロールするdiv(#blowing)が納まる。ページ下方に単独でフッター を置く。
上記の構造では、div.container に perspective: 800px; が設定されている。溢れた場合は overflow: hidden; で対応。幅は width: 100%; に設定する。perspective:の値を変更すると文字列の流れ方が変化する。小さい値ほど、視点は近くなる。では実際にこの perspective: の値をいくつか入れ替えて表示の結果を確認してみよう。
視点を極力小さくするために perspective: 230px; を設定してみる(下図)。
※perspective: 230pxのみを変更した場合 は文字列が右側へ寄るので調整が必要になる。
そこで position: absolute; を使い左寄せにして、横スクロールバーが出ない範囲で width: 115.4% を設定して表示する幅を拡げてみたのが下図である。
.container {
position: absolute;
width: 115.4%;
height: 100vw;
perspective: 230px;
overflow: hidden;
left: -200px;
top: 0;
margin: 0;
padding: 0;
}
<transform-function>はCSS のデータ型で、要素の外見に影響する座標変換を表す。座標変換関数は、二次元または三次元空間で要素を回転、拡大縮小、歪曲、移動させることができる。これは transform プロパティの中で使用される。変換関数の中で perspective() は視点距離を定めるものとして使われる。他に、rotate()、scale()、skew()、translate() など多数。
以下は transform: rotate(-3deg); を使った例。シンプルに-3度だけでこれだけ様相が変わるのは興味深い。グラデーションを使って背景を塗りつぶしてみた。
田舎の白い畦道で 埃っぽい風が立ち止まる 地べたにペタンとしゃがみこみ 奴らがビー玉はじいてる
ギンギンギラギラの 太陽なんです ギンギンギラギラの 夏なんです
鎮守の森はふかみどり 舞い降りてきた静けさが 古い茶屋の店先に 誰かさんとぶらさがる
ホーシーツクツクの 蝉の声です ホーシーツクツクの 夏なんです
日傘ぐるぐる僕は退屈 日傘ぐるぐる僕は退屈 ルルルールルルールル ルルルールルー