1. ホーム
  2. Web制作
  3. CSS

[css3]CSS3遷移回転遠近法2D3Dアニメーションなどの効果を持つサンプルコード

2022-01-26 13:13:22

CSS3ってこんなにいいものだったのか...」と、今更ながら知りました。 

CSS3ボックスモデル

CSS3 では、ボックスモデルを box-sizing で指定することができる。box-sizing には 2 つの値、すなわち content-box と border-box があり、ボックスサイズの計算方法を変更することができる。

  • box-sizing: content-box ボックスサイズは width+padding+border (デフォルト)
  • ボックスサイズ:ボーダーボックス ボックスのサイズは幅です(パディングとボーダーが幅を超えないことが条件です)。
; haribote-ipl
; TAB=4

CYLS EQU 10 ; constants defined
ORG 0x7c00 ; Address to load the program into memory

; Special format for FAT12 floppy disks
JMP entry
DB 0x90
DB "BlueSea " ; must be the name of the boot sector of 8 bytes
DW 512 ; number of bytes per sector
DB 1 ; Cluster size (how many sectors in each cluster)
DW 1 ; Starting position of the FAT
DB 2 ; Number of FATs
DW 224 ; Size of the root directory
DW 2880 ; the size of the disk (must be 2880 sectors)
DB 0xf0 ; type of disk
DW 9 ; FAT length
DW 18 ; number of sectors contained in the track
DW 2 ; Number of heads
DD 0 ; no partitions used
DD 2880 ; Rewrite disk size once
DB 0,0,0x29; 
DD 0xffffffff; 
DB "HARIBOTEOS " ; Disk name (11 bytes)
DB "FAT12 " ; disk format 
RESB 18 ; set aside 18 bytes


; boot loader entry


entry:
MOV AX,0 ; initialization register
MOV SS,AX
MOV SP,0x7c00
MOV DS,AX

The address where the data on the disk will be loaded into memory.

MOV AX,0x0820
MOV ES,AX
MOV CH,0 ; Column 0
MOV DH,0 ; Head 0
MOV CL,2 ; sector 2
readloop:
MOV SI,0 ; SI records the number of failed reads
retry:
MOV AH,0x02; AH=0x02 :read to disk
MOV AL,1 ; 1 sector
MOV BX,0
MOV DL,0x00 ; A drive
INT 0x13 ; call BIOS function
JNC next ; jump to next if there is no error
ADD SI,1 ; If there is an error, add 1 to SI
CMP SI,5 ; compare SI with 5
JAE error ; SI >= 5 then jump to error
MOV AH,0x00
MOV DL,0x00 ; A driver
INT 0x13 ; call BIOS function
JMP retry
next:
MOV AX,ES ; AX as transition register
ADD AX,0x0020 ; Add the value of ES with 0x0020
MOV ES,AX ; The result of summing is put into ES Home Home Software
ADD CL,1 ; CL plus 1
CMP CL,18 ; compare CL with 18
JBE readloop ; if CL <= 18 then jump readloop
MOV CL,1
ADD DH,1
CMP DH,2
JB readloop ; DH < 2 jump readloop to read disk
MOV DH,0
ADD CH,1
CMP CH,CYLS
JB readloop ; CH < CYLS readloop


Here is the connection for haribote.sys


MOV [0x0ff0],CH ; Number of columns loaded by IPL startup program
JMP 0xc200


error:
MOV SI,msg ; first address of the string passed in
putloop:
MOV AL,[SI]
ADD SI,1 ; shift SI address back
CMP AL,0
JE fin
MOV AH,0x0e ; Display a text
MOV BX,15 ; Character color
INT 0x10 ; Call the BIOS display character function
JMP putloop
fin:
HLT ; 
JMP fin; 
msg:
DB 0x0a, 0x0a ; two newlines
DB "load error"
DB 0x0a ; line break
DB 0


RESB 0x7dfe-$ ; ensure 510,511 bytes are 55 aa


DB 0x55, 0xaa

a. CSS3 フィルターフィルター

filter CSS プロパティは、要素にぼかしやカラーシフトなどのグラフィカルな効果を適用します。


b.CSS3カルク機能

calc() は、CSS プロパティ値を宣言する際に、いくつかの計算を行うことができます。

width: calc(100%-80px);

c. CSS3トランジション

遷移アニメーション:ある状態が別の状態にフェードインする繰り返しである

transition: the attribute to be transitioned time to spend motion curve when to start.
Often used in conjunction with /* :hover */
Example.
transition: width .5s, height .5s;
/* Multiple attributes separated by commas or all*/
/* Whoever does the transition adds **/

  • 属性 : 幅 高さ 背景色 内外の余白を使用することも、すべて使用することも可能です。
  • 時間を費やす : 秒単位(必ず単位を表記すること) 例:0.5秒
  • モーションカーブ:デフォルトはease(省略可)
  • 開始時間:単位は秒(単位は必ず記入)、遅延トリガ時間を設定可能、デフォルトは0s(省略可能)

2D変換

transformは、要素の変位、回転、拡大縮小などの効果を可能にします。

  • 移動:平行移動
  • 回転させる:ローテート
  • スケール:拡大縮小

 二次元座標系

1.ムーヴトランスレート

と同じように、ページ上の要素の位置を変更します。 ポジショニング

// Move the box position: position the outer margin of the box 2D translate move
transform:translate(x, y);
transform:translateX();
transform:translateY();

  • 2D変換での移動を定義し、X軸とY軸に沿って要素を移動させます
  • translateの最大の利点は、他の要素の位置に影響を与えないことです。
  • translateのパーセントの単位は相対的なものです。 要素自体 の translate:(50%, 50%) を使用します。
  • インラインタグに影響なし

2. 回転:ローテート

2次元回転とは、2次元平面上で要素を時計回りまたは反時計回りに回転させることである

transform:rotate(degrees) // in deg

  • 角度が正の場合は時計回り、負の場合は反時計回り
  • 回転の中心点のデフォルトは、要素の中心点です

3. センターポイントトランスフォームオリジン

transform-origin:x y;

  • 以下のパラメータxとyはスペースで区切られていることに注意してください。
  • x y 変換のデフォルトの中心点は (50% 50%) で、これは center center と同じです。
  • x y にピクセルまたは方向の名詞を設定することができます (上 下 左 右 中央)

4. スケーリングスケール

transform:scale(x, y);

x yはカンマで区切られます transform(i, j): widthはiで、jはjでスケーリングされます; 1つのパラメータだけを書き、第2パラメータは変換中心点スケールを設定する第1パラメータと同じです、デフォルトは中心点スケールで、それは他のボックスに影響を与えません。

5. 2D変換合成ライトアップ

a. transform:translate() rotate() scale() などの形式で、複数の変換を一度に使用する。

b. その順番は、変換の効果に影響します(先に回転すると軸の方向が変わります)。

c. 変位と他の属性の両方がある場合、変位を優先する

CSS3アニメーション

アニメーションは、複数のノードを設定してアニメーションやアニメーションのセットを正確に制御することができ、より多くのバリエーション、より多くの制御、連続した自動再生などを可能にする複雑なアニメーション効果を実現するためによく使用されます。

1. アニメーションの基本的な使い方

  • 最初にアニメーションを定義する
  • 次にアニメーションを呼び出します。

a. キーフレームを使ったアニメーションの定義(セレクタの定義に似ている)

1つの要素に複数のアニメーションを追加することができます。カンマで区切るだけです。

@keyframes Animation name {
    0% {
        width:100px;
    }
    100% {
        width:200px;
    }
}

  • 0%はアニメーションの開始、100%はアニメーションの終了です。
  • スタイルを何度でも変更可能
  • fromとto(0%と100%に相当
  • パーセンテージは整数値でなければならない
  • キーフレームによる複数の状態変化を行うことができる

 b. 要素でアニメーションを使用する

div {
    animation:name.
    animation-duration:duration.
}

2. アニメーションの共通属性

3. アニメーションのショートハンドレッド属性

animation:アニメーション名 継続時間 動作曲線 再生開始時期 カウント 反転させるかどうか アニメーション開始または終了の状態

animation: first 5s linear 2s infinite alternate

  • 中にanimation-play-stateを含まない省略可能な属性です。
  • アニメーションの一時停止: animation-play-state: paused; mouse-over などと一緒に使われることが多い。
  • アニメーションをジャンプではなく、歩いて戻るようにしたい:animation-direction: alternate;
  • ボックスアニメーションの後、終了位置で停止する:animation-fill-mode: forwards。

ベロシティカーブ詳細

animation-timing-function: アニメーションの速度プロファイルを指定し、デフォルトは "ease"です。

3D変換

  • 3次元変位、3次元回転
  • 3次元の変位 トランスレート3d(x,y,z)
  • 3次元回転:rotate3d(x,y,z)
  • 遠近法:パースペクティブ
  • 3Dレンダリング:トランスフォーム形式

1.変位 トランスレート3d

  • transform: translateZ(100px); Z軸に沿って移動、単位は通常px
  • translateZ(100px); 正で外側に、負で内側に移動します。
  • トランスレート3d(x,y,z) は省略不可、省略時は0を記入

2. 遠近感 遠近感(単位:px)

閲覧中の要素の親ボックスの上に書かれた遠近感(近大・遠小)

d: はビュー距離で、ビュー距離とは人間の目から画面までの距離のことです

z: はz軸、スクリーンからのオブジェクトの距離で、z軸が大きいほど(正の値)、私たちが見るオブジェクトは大きくなります。

3. rotaterotate3d

rotate3d は、3D 平面上の要素を x、y、z、またはカスタム軸に沿って回転させます。

要素の回転方向。 左記ガイドライン

x

  • 左手の親指がX軸の正方向を向いていること
  • 残りの指が曲がる方向は、x軸に沿った要素の回転方向である

y

  • 左手の親指がy軸の正方向を向いていること
  • 残りの指の曲がる方向は、y軸に沿った要素の回転方向(正の値)です

transform:rotate3d(x,y,z,deg): 定義された軸に沿って deg を角度だけ回転させます。

xyzは回転軸のベクトル、最後の1つは回転角度を示す

4. 3Dレンダリングトランスフォームスタイル(重要)

  • 子要素が3D環境をONにするかどうかを制御する
  • transform-style: フラットな子要素は3D立体視空間のデフォルトをオンにしない。
  • transform-style: preserve-3d; 子要素が3D立体視空間をオンにする。
  • コードは親に書き込まれますが、子ボックスに影響します

CSS3遷移回転視点2D3Dアニメーションやサンプルコードの他の効果に関するこの記事は、これに導入され、より関連するCSS3回転視点2D3Dアニメーションコンテンツは、スクリプトのホーム以前の記事を検索したり、次の関連記事を閲覧し続け、私はあなたが将来的にはよりスクリプトのホームをサポートして願っています!この記事で、私は、この記事で紹介されています。