
ログインおよび登録ページの切り替え効果を実装しました。ユーザーがログインまたは登録ボタンをクリックすると、フォームにユーザー名とパスワードを入力して、送信ボタンをクリックできるようになります。または登録してください。ユーザーが戻るボタンをクリックすると、オーバーレイが非表示になり、メイン領域にログインまたは登録フォームが表示されます。この効果により、ユーザー エクスペリエンスが向上し、ユーザーのログインや登録が容易になります。
<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」で!