基于html+css做一个好看的可翻转登录注册界面

yizhihongxing

下面我将详细讲解“基于html+css做一个好看的可翻转登录注册界面”的完整攻略。

一、分析设计需求

在开始编写代码前,我们需要先分析设计需求,确切地知道我们需要实现什么样的界面。根据需求,我们需要完成以下内容:

  • 制作一个两面可翻转的登录注册页面;
  • 界面需要美观、易用。

二、编写HTML代码

制作一个好看的可翻转登录注册界面,需要编写合理的HTML代码,使得网页结构完整清晰。在此,我们先编写HTML代码,完成网页文档结构搭建。

示例代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>可翻转登录注册界面</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <div class="form-container sign-up-container">
            <form action="#">
                <h2>Create Account</h2>
                <input type="text" placeholder="Name">
                <input type="email" placeholder="Email">
                <input type="password" placeholder="Password">
                <button>Sign Up</button>
            </form>
        </div>
        <div class="form-container sign-in-container">
            <form action="#">
                <h2>Sign in</h2>
                <input type="email" placeholder="Email">
                <input type="password" placeholder="Password">
                <a href="#">Forgot your password?</a>
                <button>Sign In</button>
            </form>
        </div>
        <div class="overlay-container">
            <div class="overlay">
                <div class="overlay-panel overlay-left">
                    <h2>Welcome Back!</h2>
                    <p>To keep connected with us please login with your personal info</p>
                    <button class="ghost" id="signIn">Sign In</button>
                </div>
                <div class="overlay-panel overlay-right">
                    <h2>Hello!</h2>
                    <p>Enter your personal details and start journey with us</p>
                    <button class="ghost" id="signUp">Sign Up</button>
                </div>
            </div>
        </div>
    </div>
</body>
</html>

三、编写CSS样式

完整、规范的HTML文档结构搭建完成后,我们需要让页面变得美观、易用。这时,CSS样式就显得尤为重要。通过CSS样式,我们可以精细地调整页面中的各种元素,让网页呈现出我们所需要的样式。

示例代码:

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,800');

* {
    box-sizing: border-box;
}

body {
    background-color: #f6f5f7;
    font-family: 'Montserrat', sans-serif;
    height: 100vh;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.container {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 14px 28px rgba(0,0,0,0.25), 
                0 10px 10px rgba(0,0,0,0.22);
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 1000px;
    min-height: 500px;
}

.form-container {
    position: absolute;
    top: 0;
    height: 100%;
    transition: all 0.6s ease-in-out;
}

.sign-up-container {
    left: 0;
    width: 50%;
    z-index: 2;
}

.sign-in-container {
    left: 0;
    width: 50%;
    opacity: 0;
    z-index: 1;
}

.overlay-container {
    position: absolute;
    top: 0;
    left: 50%;
    width: 50%;
    height: 100%;
    overflow: hidden;
    transition: transform 0.6s ease-in-out;
    z-index: 100;
}

.overlay {
    background: #FF416C;
    background: -webkit-linear-gradient(to right, #FF4B2B, #FF416C);
    background: linear-gradient(to right, #FF4B2B, #FF416C);
    background-size: cover;
    background-position: 0 0;
    color: #fff;
    position: relative;
    left: -100%;
    height: 100%;
    width: 200%;
    transform: translateX(0);
    transition: transform 0.6s ease-in-out;
}

.overlay-panel {
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0 40px;
    height: 100%;
    width: 50%;
    text-align: center;
    transform: translateX(0);
    transition: transform 0.6s ease-in-out;
}

.overlay-left {
    transform: translateX(-20%);
}

.overlay-right {
    right: 0;
    transform: translateX(0);
}

.social-container {
    margin: 20px 0;
}

.social-container a {
    border: 1px solid #ddd;
    border-radius: 50%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
    height: 40px;
    width: 40px;
}

/* 所有按钮 */
button {
    border-radius: 20px;
    border: 1px solid #FF4B2B;
    background-color: #FF4B2B;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 12px 45px;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: transform 80ms ease-in;
    cursor: pointer;
}

button:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

button:active {
    transform: scale(0.95);
}

.gostButton {
    background-color: transparent;
    border-color: #fff;
    color: #fff
}

input {
    background-color: #f5f5f5;
    border: none;
    padding: 12px 15px;
    margin: 8px 0;
    width: 100%;
}

h1 {
    font-size: 2.2rem;
    font-weight: bold;
    margin: 0;
}

h2 {
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0;
}

p {
    font-size: 1.2rem;
    color: #666;
    margin: 0;
    line-height: 1.5;
}

四、编写JavaScript代码

除了HTML和CSS代码,我们还需要编写JavaScript代码,使得页面能够实现翻转和动画特效。

示例代码:

var signUpButton = document.getElementById('signUp');
var signInButton = document.getElementById('signIn');
var container = document.getElementById('container');

signUpButton.addEventListener('click', () => {
    container.classList.add("right-panel-active");
});

signInButton.addEventListener('click', () => {
    container.classList.remove("right-panel-active");
});

五、整合代码

复制HTML、CSS、JavaScript代码粘贴进对应文件中,并在浏览器中打开HTML文件,就可以看到我们制作的好看的可翻转登录注册界面了。

六、总结

以上便是制作一个基于HTML+CSS的好看的可翻转登录注册界面的完整攻略了。我们需要依次进行:分析设计需求、编写HTML代码、编写CSS样式、编写JavaScript代码、整合代码等步骤,才能制作出一个完整的网页界面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于html+css做一个好看的可翻转登录注册界面 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • 29个常用的CSS小技巧汇总

    针对“29个常用的CSS小技巧汇总”的完整攻略,我会进行详细讲解。 1. 基础技巧 1.1 盒模型 CSS盒模型是指一个文档中的元素占用的空间将整个空间划分为一个个小的盒子。盒模型包括内容(content)、填充(padding)、边框(border)、边界(margin)。 示例: .box { width: 300px; height: 200px; p…

    css 2023年6月9日
    00
  • CSS利用pointer-events防止重复点击的方法实例

    下面我来为大家讲解一下“CSS利用pointer-events防止重复点击的方法实例”的完整攻略。 什么是pointer-events属性? pointer-events属性用于指定元素是否可以作为触发事件的目标。当元素的pointer-events属性设置为none时,该元素将不会响应任何事件(如鼠标事件、键盘事件等),并且该元素下的所有子元素也都不会响应…

    css 2023年6月11日
    00
  • CSS圆形旋转效果 纯CSS制作圆形旋转菜单效果(七步完成)

    下面我来详细讲解一下“CSS圆形旋转效果 纯CSS制作圆形旋转菜单效果(七步完成)”的完整攻略。 1. 确定HTML结构 首先,我们需要确定圆形旋转菜单的HTML结构。一般情况下,我们可以使用<ul>和<li>标签来实现。具体代码如下: <ul class="menu"> <li><a…

    css 2023年6月9日
    00
  • 图文详解Element-UI中自定义修改el-table样式

    我会详细讲解如何自定义修改el-table样式。 1. 准备工作 在开始前,请确保你已经安装了element-ui,并且已经能够正常使用。同时,也需要了解一些基础的css知识。 2. 定义CSS样式 首先,我们需要定义一些CSS样式来修改el-table的外观。以下是一些常用的CSS样式: /* 设置表格的边框 */ .el-table__body { bo…

    css 2023年6月10日
    00
  • JavaScript知识点总结之如何提高性能

    下面我来详细讲解一下“JavaScript知识点总结之如何提高性能”的完整攻略。 前言 在编写JavaScript代码时,我们经常会遇到一些性能问题,例如代码运行缓慢、浏览器崩溃等。这时,我们需要优化代码的性能,提高代码的执行效率。以下是一些优化代码性能的技巧。 提高代码性能的技巧 1. 使用变量缓存 在JavaScript中,每次访问一个变量或对象的属性时…

    css 2023年6月11日
    00
  • JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )

    这个 JavaScript 表达式看起来很神秘,实际上是一个字符串的拼接。其中 __ = !$ + $,那么 __$ = true + $。 整体来看,这个表达式最终拼接出来的就是 JavaScript 这个字符串。 拆解一下,就是: __$[+$],这个 $ 表示字符串末尾的一个字符,+ 的作用是将字符串的末尾字符转化为数字类型。而这个数字,正好就是 1,…

    css 2023年6月9日
    00
  • font-weight 属性设置文本的粗细介绍

    下面是关于 “font-weight” 属性的详细讲解: 简介 “font-weight” 是 CSS 中用于设置文本粗细的属性。它可以用于设置字体的粗细程度,包括普通、粗体和轻体三种类型。通常情况下,它的值为数字或关键字。数字在范围为 100-900 之间,且必须是 100 的倍数。而关键字则包括 normal、bold、bolder 和 lighter …

    css 2023年6月9日
    00
  • 导航跟随滚动条置顶移动示例代码

    要实现导航跟随滚动条置顶移动,需要使用JavaScript来监听滚动事件,根据滚动条位置和导航栏高度来动态改变导航栏的样式和位置。 下面为您提供一份完整的攻略,让您轻松实现这一功能。 准备工作 首先需要在HTML文件中引入jQuery库和自己编写的JavaScript文件。 <script src="https://cdn.bootcdn.n…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部