4 つの異なるページを含むシンプルな Web ページを作成しました。ホームページには、次のような各ページのナビゲーション リンクがあります。
ページ1 ページ2 ページ3 ページ4
だから今、リンクをクリックすると、遷移効果のある本のページをめくるようにそのページを開く必要があるようなものを実装したいと思います。では、html5 や css3 などを使用してこれを実現するにはどうすればよいでしょうか。
言われているように、あなたの質問には具体的な答えを得るための以前の調査が少し欠けていますが、役立つかもしれない洞察がいくつかあります:
webkit-
接頭辞付き)div
ここでは、さまざまな z-index を使用したの重ね合わせと、CSS3 2D 平行移動/回転変換(調整された原点を使用) を使用して、ほとんどのトリックを実行します。深度をシミュレートするために「box-shadow」と「gradient」が追加されました。nlob によって提示された Hakim El Hattab による方法は、代わりにキャンバスを使用してフリップを描画する一種の変形です。これらのソリューションはすべてtransition
、2D 変換のプロパティまたはシェーダーの入力属性を微調整することにより、CSS を使用してアニメーションを作成します。
アニメーションは、選択したイベント (クリック、ドラッグなど) を処理することにより、基本的な CSS 状態 (:hover
たとえば) または Javascript によってトリガーできます。たとえば、このハンドラーを使用して、移行をトリガーするように DOM 要素のクラスを設定できます。
.page {
transform: translate(0px, 0px) rotate(0deg);
transition: transform 1s;
}
.curled-page {
transform: translate(42px, 42px) rotate(42deg);
}
-JS:
document.getElementById('page1-corner').onclick = function() {
var page1 = document.getElementById('page1');
page1.className += ' curled-page'; // Supposing page1 already has "page" as class.
};
与えられたすべての答えを少し掘り下げると、自分の道を見つけることができるはずです.
幸運を!
CSS および基本的な JavaScript イベントの次のプロパティを理解している必要があります。
3D の保持、原点の変換、回転の変換、Z インデックス。
また、ページをリロードするとフリップエフェクトの要件が競合するため、ナビゲーションにハイパーリンクを使用することはできません。タスクのスクリプト全体を提供する人は誰もいません。自分で行う必要があります。