ログインおよび登録ページの切り替え効果を実装しました。ユーザーがログインまたは登録ボタンをクリックすると、フォームにユーザー名とパスワードを入力して、送信ボタンをクリックできるようになります。または登録してください。ユーザーが戻るボタンをクリックすると、オーバーレイが非表示になり、メイン領域にログインまたは登録フォームが表示されます。この効果により、ユーザー エクスペリエンスが向上し、ユーザーのログインや登録が容易になります。
<div class="コンテナ"> <!-- 登録 --> <div class="コンテナ-フォーム コンテナ-サインアップ"> <form action="#" class="form" id="form1"> <h2 class="form-title">アカウントを登録する</h2> <input type="text" placeholder="ユーザー" class="input" /> <input type="email" placeholder="Email" class="input" /> <input type="password" placeholder="パスワード" class="input" /> <button type="button" class="btn">クリックして登録</button> </form> </div> <!-- ログイン --> <div class="コンテナ-フォーム コンテナ-サインイン"> <form action="#" class="form" id="form2"> <h2 class="form-title">ログインへようこそ</h2> <input type="email" placeholder="Email" class="input" /> <input type="password" placeholder="パスワード" class="input" /> <a href="#" class="link">パスワードをお忘れですか?</a> <button type="button" class="btn">ログイン</button> </form> </div> <!--オーバーレイ部分--> <div class="コンテナオーバーレイ"> <div class="オーバーレイ"> <div class="オーバーレイパネルオーバーレイ左"> <button class="btn" id="signIn"> すでにアカウントをお持ちですか? 直接ログインします</button> </div> <div class="overlay-panel overlay-right"> <button class="btn" id="signUp"> アカウントをお持ちでない場合は、「登録」</button> をクリックしてください。 </div> </div> </div> </div>
体 { 高さ: 100vh; 背景: #e7e7e7 url("./img/background.jpg") 中央のリピートなしが修正されました。 背景サイズ: カバー; 背景フィルター: ぼかし(5px); ディスプレイ: フレックス; コンテンツの位置揃え: 中央; 整列項目: 中央; } /* ボディ div スタイル*/ 。容器 { 背景色: #e7e7e7; 境界半径: 0.7rem; ボックスシャドウ: 0 0.9rem 1.7rem rgba(0, 0, 0, 0.25), 0 0.7rem 0.7rem rgba(0, 0, 0, 0.22); 高さ: 420ピクセル; 最大幅: 750ピクセル; オーバーフロー: 非表示; 位置: 相対的; 幅: 100%; } /* ログインおよび登録ボックス部分*/ .container-form { 高さ: 100%; 位置: 絶対; トップ: 0; トランジション: すべて 0.6 秒のイーズインアウト。 } /* ログイン ボックス - デフォルト レベルは高です*/ .container-signin { 左: 0; 幅: 50%; z インデックス: 2; } /* 登録ボックス - デフォルトのレベルは低い - 透明度 0 */ .container-signup { 左: 0; 不透明度: 0; 幅: 50%; z インデックス: 1; } /* フォームのスタイル*/ 。形状 { 背景色: #e7e7e7; ディスプレイ: フレックス; 整列項目: 中央; コンテンツの位置揃え: 中央; フレックス方向: 列; パディング: 0 3rem; 高さ: 100%; テキスト整列: 中央; } .form-title { フォントの太さ: 300; マージン: 0; マージン-ボトム: 1.25rem; } 。リンク { カラー: #333; フォントサイズ: 0.9rem; マージン: 1.5rem 0; テキスト装飾: なし。 } .input { 幅: 100%; 背景色: #fff; パディング: 0.9rem 0.9rem; マージン: 0.5rem 0; 境界線: なし。 概要: なし。 } .btn { 背景色: #f25d8e; ボックスシャドウ: 0 4px 4px rgba(255, 112, 159, .3); 境界半径: 5px; 色: #e7e7e7; 境界線: なし。 カーソル: ポインタ; フォントサイズ: 0.8rem; フォントの太さ: 太字; 文字間隔: 0.1rem; パディング: 0.9rem 4rem; テキスト変換: 大文字; トランジション: トランスフォーム 80ms イーズイン。 } .form>.btn { マージントップ: 1.5rem; } .btn:アクティブ { 変換: スケール(0.95); } /* ---------- オーバーレイパーツのスタイル--------------- */ .container-overlay { 高さ: 100%; 左: 50%。 オーバーフロー: 非表示; 位置: 絶対; トップ: 0; トランジション: トランスフォーム 0.6 秒イーズインアウト; 幅: 50%; z インデックス: 100; } 。かぶせる { 幅: 200%; 高さ: 100%; 位置: 相対的; 左: -100%。 背景: url("./img/background.jpg") リピートなしの中心が修正されました。 背景サイズ: カバー; トランジション: トランスフォーム 0.6 秒イーズインアウト; 変換:translateX(0); } .overlay-panel { 高さ: 100%; 幅: 50%; 位置: 絶対; トップ: 0; ディスプレイ: フレックス; コンテンツの位置揃え: 中央; 整列項目: 中央; フレックス方向: 列; 変換:translateX(0); トランジション: トランスフォーム 0.6 秒イーズインアウト; } .overlay-left { 変換: 変換X(-20%); } .overlay-right { 右: 0; 変換:translateX(0); } /* デザインがアクティブ化されたときのオーバーレイの位置*/ .panel-active .overlay-left { 変換:translateX(0); } .panel-active .container-overlay { 変換: 変換X(-100%); } .panel-active .overlay { 変換:translateX(50%); } /*アクティブ化時のログイン登録レイヤーの場所と透明度を設定します*/ .panel-active .container-signin { 変換:translateX(100%); } .panel-active .container-signup { 不透明度: 1; z インデックス: 5; 変換:translateX(100%); }
体 { height: 100vh; /* ページの高さをビューポートの高さとして定義します*/ 背景: #e7e7e7 url("./img/background.jpg") center no-repeat fixed; /* ページの背景をグレーとして定義し、背景画像を追加します*/ background-size: cover; /* ページ全体をカバーする背景画像のサイズを定義します*/ backdrop-filter: Blur(5px); /* 背景のぼかし効果を定義します*/ display: flex; /* ページをフレキシブル ボックスとして定義します*/ justify-content: center; /* 主軸の配置を中央に定義します */ align-items: center; /* 軸間の配置を中央揃えとして定義します */ }
このコードは、高さ、背景、境界線、影などを含むページ全体のスタイルを定義します。このうち、 height: 100vh;
はページの高さがビューポートの高さであることを意味し、 background: #e7e7e7 url("./img/background.jpg") center no-repeat fixed;
ページの背景が灰色で背景画像であることを意味します。が追加され、 background-size: cover;
は背景画像がページ全体を覆うサイズであることを示し、 backdrop-filter: blur(5px);
背景のぼかし効果を示します。
.container-form { height: 100% /* コンテナの高さを 100% に定義します */ 位置: 絶対位置; /* 絶対的に配置されるコンテナを定義します*/ top: 0; /* コンテナの上部から 0 までの距離を定義します */ トランジション: すべて 0.6 秒イーズインアウト; /* トランジション効果を定義します*/ } .container-signin { left: 0; /* ログインボックスを左から0になるように定義します */ width: 50%; /* ログイン ボックスの幅を 50% に定義します */ z-index: 2; /* ログインボックスのレベルを 2 に定義します */ } .container-signup { left: 0; /* 左への登録ボックスの距離を 0 として定義します */ opacity: 0; /* 登録ボックスの透明度を 0 に定義します */ width: 50% /* 登録ボックスの幅を 50% として定義します */ z-index: 1; /* 登録ボックスのレベルを 1 として定義します */ }
このコードは、位置、透明度、レベルなどを含む、ログイン ボックスと登録ボックスのスタイルを定義します。このうち、 height: 100%;
コンテナの高さが 100% であることを意味し、 position: absolute;
コンテナが絶対に配置されていることを意味し、 top: 0;
はコンテナの上部からの距離が 0 であることを意味しますtransition: all 0.6s ease-in-out;
トランジション効果を意味します。
。形状 { background-color: #e7e7e7; /* フォームの背景をグレーとして定義します*/ display: flex; /* フォームをフレキシブルボックスとして定義します*/ align-items: center; /* 軸間の配置を中央揃えとして定義します */ justify-content: center; /* 主軸の配置を中央に定義します */ flex-direction: column; /* 主軸方向を垂直方向として定義します*/ padding: 0 3rem /* フォームの内側の余白を左右 3rem に定義します */ height: 100%; /* フォームの高さを 100% に定義します */ text-align: center; /* フォームのテキストの配置を中央に定義します*/ } .form-title { font-weight: 300; /* タイトルのフォントの太さを 300 に定義します */ margin: 0; /* タイトルのマージンを 0 に定義します */ margin-bottom: 1.25rem /* タイトルの下マージンを 1.25rem に定義します */ } .link { color: #333; /* リンクの色を黒に定義します/ font-size: 0.9rem; / リンクのフォント サイズを 0.9rem に定義します / margin: 1.5rem 0 / リンクのマージンを 1.5 に定義しますrem 上下左右 各 0 / text-decoration: none / 下線を削除するリンクを定義します*/ } .input { width: 100%; /* 入力ボックスの幅を 100% として定義します / background-color: #fff; / 入力ボックスの背景を白として定義します / padding: 0.9rem 0.9rem; / 入力ボックスの内側の余白を次のように定義します上下 0.9rem、左右 0.9rem / margin: 0.5rem 0 / 入力ボックスの外側の余白を上下 0.5rem、左右 0 として定義します。 / border: none; / 入力ボックスを境界線なしで定義します / アウトライン: none / 入力ボックスを輪郭なしで定義します*/ } .btn { background-color: #f25d8e; /* ボタンの背景をピンクに定義します/ box-shadow: 0 4px 4px rgba(255, 112, 159,.3) / ボタンの影の効果を定義します/ border-radius: 5px; / ボタンの角の半径を 5px に定義します / color: #e7e7e7; / ボタンのテキストの色を白に定義します / border: none;ボタンをボーダーレスに定義します/ カーソル: ポインタ; / ボタンをポインタ型に定義します / font-size: 0.8rem; / ボタンのフォント サイズを 0.8rem に定義します / font-weight: ボールド;太字にするウェイト / 文字間隔: 0.1rem; / ボタンの文字間隔を 0.1rem に定義します / パディング: 0.9rem 4rem;ボタンの内側のマージンを上下に 0.9rem、左右に 4rem に定義します。 / text-transform: uppercase / ボタンのテキストを大文字として定義します。 /transition:transform 80ms easy-in;ボタンのトランジション効果*/ } .form>.btn { margin-top: 1.5rem; /* ボタンの上マージンを 1.5rem に定義します */ } .btn:active {transform:scale(0.95) /* ボタンがアクティブになったときのスケーリング効果を定義します*/}
このコードは、背景、フォント、入力ボックス、ボタンなどを含む、ログインおよび登録フォームのスタイルを定義します。このうち、 background-color: #e7e7e7;
はフォームの背景が灰色であることを意味し、 display: flex;
はフォームがフレキシブル ボックスであることを意味し、 align-items: center;
軸の横方向の配置をjustify-content: center;
します。 justify-content: center;
主軸の配置が中央であることを意味height: 100%;
ますflex-direction: column;
主軸の方向が垂直であることを意味しますpadding: 0 3rem;
height: 100%;
フォームの高さが 100% であることを意味し、 text-align: center;
はフォームのテキストの配置が中央に配置されることを意味します。
.container-overlay { 高さ: 100%; /* コンテナの高さを 100% に定義 / left: 50% / コンテナの左への距離を 50% に定義 / overflow: hidden / コンテナのオーバーフロー部分を非表示に定義 / 位置; : 絶対; / 絶対配置されるコンテナを定義します / トップ: 0; コンテナの上部から 0 までの距離を定義します / トランジション: 0.6 秒のイーズインアウトを定義します / 幅: 50% ; / コンテナの幅を 50% に定義します / z-index: 100;コンテナレベルを 100 として定義します */ } 。かぶせる { 幅: 200%; /* オーバーレイの幅を 200% として定義 / 高さ: 100%; / オーバーレイの高さを 100% として定義 / 相対位置としてオーバーレイを定義 / left: -100% / 左へのオーバーレイの距離を定義as -100% / 背景: url("./img/background.jpg") no-repeat center fix; / オーバーレイの背景を背景画像として定義し、中央に配置します。 / background-size: cover;ページ全体をカバーするオーバーレイの背景のサイズを定義します/transition:transform 0.6s easy-in-out; /transition:translateX(0)/オーバーレイの初期位置を 0 として定義します。 } .overlay-panel { 高さ: 100%; /* オーバーレイ パネルの高さを 100% に定義します / width: 50%; / オーバーレイ パネルの幅を 50% に定義します / location:Absolute / オーバーレイ パネルを絶対位置に定義します / top: 0; / オーバーレイ パネルの上部からの距離を 0 と定義します / display: flex / オーバーレイ パネルをフレキシブル ボックスとして定義します / justify-content: center; / 主軸の配置を center として定義します / align-items: center;交差軸の配置を中心として定義します/ flex-direction: column; / 主軸の方向を垂直方向として定義します /transform:translateX(0); / オーバーレイ パネルの初期位置を 0 として定義します /transition:transform 0.6s easy-in-out;トランジションエフェクト*/ } .overlay-left { 変換: 変換X(-20%); /* 左オーバーレイ パネルの位置を左に 20% 移動するように定義します */ } .overlay-right { 右: 0; /* 右オーバーレイ パネルの右への距離を 0 として定義します /transform:translateX(0) / 右オーバーレイ パネルの位置を 0 として定義します */ } /* デザインがアクティブ化されたときのオーバーレイの位置/ .panel-active.overlay-left {transform: translationX(0) / 左側のオーバーレイ パネルの位置を 0 として定義します */ } .panel-active.container-overlay { 変換: 変換X(-100%); /* 左へのコンテナの距離を -100% として定義します */ } .panel-active.overlay { 変換:translateX(50%); /* オーバーレイ位置を右に 50% 移動するように定義します */ } /* アクティブ化時のログイン登録レイヤーの位置と透明度を設定します/ .panel-active.container-signin {transform:translateX(100%) / ログインレイヤーの位置を右に 100% 移動するように定義します */ } .panel-active.container-signup { 不透明度: 1; /* 登録レイヤーの透明度を 1 として定義します / z-index: 5; / 登録レイヤーのレベルを 5 として定義します /transform:translateX(100%) / 登録レイヤーの位置を 100% 右に移動するように定義します */ }
このコードは、位置、サイズ、透明度、階層などを含む、ログイン ページと登録ページのオーバーレイのスタイルを定義します。このうち、height: 100% はコンテナの高さが 100% であることを意味し、 left: 50% はコンテナが左側から 50% であることを意味し、overflow: hidden はコンテナのオーバーフロー部分が非表示であることを意味します。 : 絶対; コンテナが絶対に配置されていることを意味します。top: 0; コンテナが上から 0 であることを意味します。 %、z インデックス: 100;コンテナレベルが100であることを示します。
中央揃え、background-size: cover; はオーバーレイの背景サイズがページ全体をカバーすることを意味します。transition:transform 0.6s easy-in-out はトランジション効果を意味します。オーバーレイの位置は 0 です。
オーバーレイパネルのスタイルには、オーバーレイパネルの高さ、幅、位置、表示モード、配置、主軸方向、トランジション効果、初期位置などが含まれる。このうち、height: 100% はオーバーレイ パネルの高さが 100% であることを意味し、width: 50% はオーバーレイ パネルの幅が 50% であることを意味します。 top: 0; はオーバーレイ パネルが絶対的に配置されていることを意味し、display: flex; はオーバーレイ パネルが中央に配置されていることを意味します。アイテム: センター;交差軸の配置が中心であることを示します。flex-direction: column; は、主軸の方向が垂直であることを示します。transform: translationX(0); は、オーバーレイ パネルの初期位置が 0 であることを示します。transition: 変換 0.6s を示します。 -in-out; はトランジション効果を示します。
オーバーレイ パネルの左側と右側のスタイルは、それぞれ overlay-left と overlay-right として定義され、それぞれ左側と右側のオーバーレイ パネルのスタイルを表します。このうち、transform:translateX(-20%); は、左のオーバーレイパネルの位置を左に 20% 移動することを意味し、right: 0; は、右のオーバーレイパネルを右から 0 移動することを意味します。右を意味します。サイドオーバーレイパネルの位置は 0 です。
アクティブにすると、オーバーレイの位置と透明度が変更されます。これには、左側のオーバーレイ パネルの位置、左側のコンテナの距離、オーバーレイの位置、登録されたレイヤーの透明度、登録されたレイヤーの位置などが含まれます。このうち、.panel-active.overlay-left はアクティブ化されたとき、左側のオーバーレイパネルの位置が 0 であることを意味し、.panel-active.container-overlay はアクティブ化されたときに左へのコンテナの距離が -100% であることを意味し、.panel -active .overlay は、アクティブ化されると、オーバーレイの位置が 50% 右側に移動することを意味します。 .panel-active.container-signin は、アクティブ化されると、ログイン レイヤーの位置が 100% 右側に移動することを意味します。コンテナーのサインアップアクティブ化すると、登録レイヤーの透明度が 1、登録レイヤーのレベルが 5、登録レイヤーの位置が 100% 右に移動することを示します。
これで、クールなログイン切り替えを実現するための HTML+CSS に関する記事は終了です。さらに関連する HTML CSS ログイン切り替えコンテンツについては、downcodes.com で以前の記事を検索するか、以下の関連記事を引き続き参照してください。 .com」で!