Реализован эффект переключения для страницы входа и регистрации. Когда пользователь нажимает кнопку входа или регистрации, появляется наложение, содержащее форму. Пользователь может ввести имя пользователя и пароль в форму, а затем нажать кнопку «Отправить», чтобы войти. или зарегистрируйтесь. Когда пользователь нажимает кнопку «Назад», наложение скрывается, а в основной области отображается форма входа или регистрации. Этот эффект может улучшить взаимодействие с пользователем и упростить вход или регистрацию пользователей.
<div class="контейнер"> <!-- Зарегистрироваться --> <div class="контейнер-форма-контейнер-подписка"> <form action="#" class="form" id="form1"> <h2 class="form-title">Зарегистрировать аккаунт</h2> <input type="text" Placeholder="User" class="input" /> <input type="email" Placeholder="Email" class="input" /> <input type="password" Placeholder="Password" class="input" /> <button type="button" class="btn">Нажмите, чтобы зарегистрироваться</button> </форма> </div> <!-- Войти --> <div class="container-formContainer-Signin"> <form action="#" class="form" id="form2"> <h2 class="form-title">Добро пожаловать в систему</h2> <input type="email" Placeholder="Email" class="input" /> <input type="password" Placeholder="Password" class="input" /> <a href="#" class="link">Забыли пароль?</a> <button type="button" class="btn">Войти</button> </форма> </div> <!--Наложение--> <div class="container-overlay"> <div class="overlay"> <div class="overlay-panel overlay-left"> <button class="btn" id="signIn"> У вас уже есть учетная запись? Войти напрямую</button> </div> <div class="overlay-panel overlay-right"> <button class="btn" id="signUp"> Если у вас нет учетной записи, нажмите «Зарегистрироваться»</button> </div> </div> </div> </div>
тело { высота: 100вх; фон: #e7e7e7 url("./img/background.jpg") исправлено центральное отсутствие повтора; размер фона: обложка; фоновый фильтр: размытие (5 пикселей); дисплей: гибкий; оправдание-содержание: центр; выровнять-элементы: по центру; } /* Стиль div тела*/ .контейнер { цвет фона: #e7e7e7; радиус границы: 0,7рем; box-shadow: 0 0,9rem 1,7rem rgba(0, 0, 0, 0,25), 0 0,7рем 0,7рем rgba(0, 0, 0, 0,22); высота: 420 пикселей; максимальная ширина: 750 пикселей; переполнение: скрыто; положение: относительное; ширина: 100%; } /* Часть поля входа и регистрации*/ .container-form { высота: 100%; позиция: абсолютная; верх: 0; переход: все 0,6 с, плавность входа-выхода; } /* Поле входа — уровень по умолчанию высокий*/ .container-signin { слева: 0; ширина: 50%; z-индекс: 2; } /* Поле регистрации – уровень по умолчанию низкий – прозрачность 0 */ .container-подписка { слева: 0; непрозрачность: 0; ширина: 50%; z-индекс: 1; } /* стиль формы*/ .форма { цвет фона: #e7e7e7; дисплей: гибкий; выровнять-элементы: по центру; оправдание-содержание: центр; гибкое направление: столбец; отступ: 0 3рем; высота: 100%; выравнивание текста: по центру; } .form-title { вес шрифта: 300; маржа: 0; нижняя граница: 1,25 рем; } .связь { цвет: #333; размер шрифта: 0,9рем; маржа: 1,5рем 0; текстовое оформление: нет; } .вход { ширина: 100%; цвет фона: #fff; заполнение: 0,9рем 0,9рем; маржа: 0,5бэр 0; граница: нет; контур: нет; } .btn { цвет фона: #f25d8e; box-shadow: 0 4px 4px rgba(255, 112, 159, .3); радиус границы: 5 пикселей; цвет: #e7e7e7; граница: нет; курсор: указатель; размер шрифта: 0,8рем; начертание шрифта: жирный; межбуквенный интервал: 0,1 рем; заполнение: 0,9рем 4рем; преобразование текста: верхний регистр; переход: преобразование с легкостью 80 мс; } .form>.btn { маржа-верх: 1,5рем; } .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-панель { высота: 100%; ширина: 50%; позиция: абсолютная; верх: 0; дисплей: гибкий; оправдание-содержание: центр; выровнять-элементы: по центру; гибкое направление: столбец; преобразование: TranslateX (0); переход: преобразование 0,6 с, легкость входа и выхода; } .overlay-left { преобразование: TranslateX (-20%); } .overlay-право { правильно: 0; преобразование: TranslateX (0); } /* Положение наложения при активации дизайна*/ .panel-active .overlay-left { преобразование: TranslateX (0); } .panel-active .container-overlay { трансформировать: TranslateX (-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") исправлен центр без повтора /* Определите фон страницы как серый и добавьте фоновое изображение*/; 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% */ Position: Absolute; /* Определить контейнер, который будет позиционироваться абсолютно*/ top: 0 /* Определяем расстояние от верха контейнера до 0 */ переход: все 0,6 с плавность выхода /* определяют эффект перехода*/; } .container-signin { left: 0 /* Определить поле входа как 0 слева */; width: 50%; /* Определите ширину окна входа в 50% */ z-index: 2; /* Определить уровень входа в систему равным 2 */ } .container-подписка { 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; / Определить фон поля ввода как белый / отступ: 0,9rem 0,9rem / Определить внутренние поля поля ввода как верхнее и нижнее 0,9 rem, 0,9 rem слева и справа / поле: 0,5 rem 0 / определите внешнее поле поля ввода как 0,5 rem сверху и снизу, 0 слева и справа / border: none; / Определить поле ввода без рамки / контур: none / Определить поле ввода без контура */ } .btn { background-color: #f25d8e; /* Определите фон кнопки розовым/ box-shadow: 0 4px 4px rgba(255, 112, 159,.3); / Определите эффект тени кнопки/ border-radius: 5px; / Определите радиус угла кнопки равным 5 пикселей / color: #e7e7e7 / Определите цвет текста кнопки как белый / border: none /; Определите кнопку без рамки / курсор: указатель; / Определите кнопку как тип указателя / размер шрифта: 0,8 rem; / Определите размер шрифта кнопки как 0,8 rem / шрифт-вес: жирный шрифт; вес должен быть жирным / интервал между буквами: 0,1 rem / задайте интервал между буквами кнопки равным 0,1 rem / отступ: 0,9 rem 4 rem /; Определите внутреннее поле кнопки равным 0,9 rem для верхней и нижней части и 4 rem для левой и правой стороны / text-transform: верхний регистр; / определите текст кнопки как прописные буквы / переход: преобразование с легкостью в 80 мс / Определить; эффект перехода кнопки*/ } .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;
означает, что выравнивание по основной оси — по центру, flex-direction: column;
означает, что направление основной оси вертикальное, padding: 0 3rem;
означает, что внутреннее поле формы составляет 3rem слева и справа, height: 100%;
означает, что высота формы равна 100%, text-align: center;
означает выравнивание текста формы по центру.
.container-overlay { высота: 100%; /* Определить высоту контейнера как 100% / слева: 50% / Определить расстояние контейнера слева как 50% / переполнение: скрыто / Определить часть контейнера, которая является переполненной, / положение : Absolute; / Определить контейнер, который будет позиционироваться абсолютно / сверху: 0; / Определить расстояние контейнера от верха до 0 / переход: плавность перехода 0,6 с / Определить эффект перехода / ширину: 50%; ; / Определить ширину контейнера 50% /z-index: 100/; Определите уровень контейнера как 100 */ } .оверлей { ширина: 200%; /* Определить ширину наложения как 200% / высоту: 100% / Определить высоту наложения как 100% / положение: относительное / Определить наложение как относительное позиционирование / слева: -100% / Определить расстояние наложения влево; as -100% / background: url("./img/background.jpg") исправлен центр без повтора / Определите фон наложения в качестве фонового изображения и выровняйте его по центру /background-size: Cover /; Определите размер фона наложения, чтобы покрыть всю страницу/переход: Transform 0,6s easy-in-out;/определите эффект перехода/transform:translateX(0);/определите начальное положение наложения как 0 */ } .overlay-панель { высота: 100%; /* Определить высоту наложенной панели равной 100% / ширину: 50% / Определить ширину наложенной панели равной 50% / положение: абсолютное; / Определить абсолютное позиционирование наложенной панели / верх: 0; / Определить расстояние от верха панели наложения 0 / display: flex; / Определить панель наложения как гибкий блок / justify-content: center; / Определить выравнивание по основной оси как по центру / align-items: center /; Определите выравнивание поперечной оси как центрированное/ flex-direction:column;/Определить направление основной оси как вертикальное/transform:translateX(0);/Определить начальное положение панели наложения как 0/transition: Transform 0,6s easy-in-out; эффект перехода*/ } .overlay-left { преобразование: TranslateX (-20%); /* Определим положение левой панели наложения для перемещения на 20% влево */ } .overlay-право { правильно: 0; /* Определим расстояние правой панели наложения вправо как 0 / Transform: TranslateX(0) / Определим положение правой панели наложения как 0 */ } /* Положение наложения при активации дизайна/ .panel-active.overlay-left { Transform: TranslateX(0); / Определить положение левой панели наложения как 0 */ } .panel-active.container-overlay { трансформировать: TranslateX (-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% вправо */ }
Этот код определяет стиль наложения для страниц входа и регистрации, включая положение, размер, прозрачность, иерархию и т. д. Среди них высота: 100%; означает, что высота контейнера равна 100%, слева: 50%; означает, что контейнер находится на 50% с левой стороны, переполнение: скрыто; означает, что часть контейнера, содержащая переполнение, скрыта, положение. : Absolute; означает, что контейнер позиционирован абсолютно, top: 0; означает, что контейнер равен 0 сверху, переход: преобразование 0,6 с, легкость выхода означает эффект перехода, ширина: 50% означает, что ширина контейнера равна 50; %, z-индекс: 100; Указывает, что уровень контейнера равен 100.
Выравнивание по центру, размер фона: крышка; означает, что размер фона наложения должен охватывать всю страницу, переход: преобразование 0,6 с, легкость выхода означает эффект перехода, преобразование: переводX (0); позиция наложения равна 0.
Стиль панели наложения включает в себя высоту, ширину, положение, режим отображения, выравнивание, направление главной оси, эффект перехода, начальное положение и т. д. панели наложения. Среди них высота: 100%; означает, что высота панели наложения равна 100%, ширина: 50% означает, что ширина панели наложения равна 50%, положение: абсолютное означает, что панель наложения расположена абсолютно; top: 0; означает, что панель наложения расположена абсолютно. Расстояние от верха равно 0, display: flex; означает, что панель наложения представляет собой гибкий блок, justify-content: center означает выравнивание по главной оси, выравнивание. предметы: центр; Указывает, что выравнивание по поперечной оси центрировано, flex-direction: columns указывает, что направление основной оси вертикальное, Transform: TranslateX(0) указывает, что начальное положение панели наложения равно 0, переход: преобразование 0,6 с легкостью; -in-out; указывает эффект перехода.
Левый и правый стили панели наложения определяются как overlay-left и overlay-right соответственно, которые представляют стили левой и правой панелей наложения соответственно. Среди них Transform: TranslateX(-20%); означает, что положение левой панели наложения перемещается на 20% влево, Right: 0 означает, что правая панель наложения находится на 0 справа, Transform: TranslateX(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!