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

下面我将详细讲解“基于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日

相关文章

  • Dreamweaver怎么给网页添加样式表的关联?

    当您使用 Dreamweaver 创建一个网页并准备添加 CSS 样式表时,您可以通过以下步骤将样式表链接到您的网页: 在 Dreamweaver 中选择要链接到样式表的 HTML 文件。 打开“属性”面板,这可以通过在菜单栏中选择“窗口->属性”或通过按F4键来完成。 在“属性”面板中,找到“链接样式表!”这个选项。单击下拉菜单并选择“新的外部样式表…

    css 2023年6月9日
    00
  • 纯CSS3实现8组超炫酷鼠标滑过图片动画

    以下是详细讲解“纯CSS3实现8组超炫酷鼠标滑过图片动画”的完整攻略。 简介 这是一篇介绍如何利用CSS3实现鼠标滑过图片动画效果的攻略,其中包括了8种不同的动画效果。这些动画都是纯CSS3实现的,非常简单易懂。 实现方式 鼠标滑过图片动画的实现,主要依靠CSS3中的transition和transform属性。transition属性可以设置元素从一个状态…

    css 2023年6月10日
    00
  • elementui源码学习仿写el-link示例详解

    首先,elementui源码学习仿写示例可以帮助我们更好地了解elementui组件库的内部实现,提高自己的前端开发技能。其中,el-link组件是一个非常简单的组件,我们可以通过仿写这个组件的代码来更好地理解elementui组件的设计思路。 下面是仿写el-link组件的详细攻略: 首先,在elementui源码中找到el-link组件的代码,这个代码位…

    css 2023年6月10日
    00
  • 用!important解决IE和Mozilla的布局差别

    当我们在编写 CSS 样式的时候,有时会发现页面在不同浏览器中显示效果不一致。这时我们可以使用 !important 来解决这种问题。 !important 是 CSS 中一种很常用的机制,用于标记一个属性为重要的,后面的 CSS 代码将不会覆盖该属性的设置。在 IE 浏览器和 Mozilla 浏览器中,如果我们发现样式在某个浏览器中没有生效,可以尝试在该样…

    css 2023年6月9日
    00
  • css 背景固定样式background-attachment属性基础

    下面是关于CSS背景固定样式background-attachment属性的详细攻略。 什么是background-attachment属性 background-attachment属性规定背景图像是否固定(即不会随着页面的滚动而移动)或者随着对象的内容滚动而滚动。具体来说,background-attachment属性有以下两个值: scroll:背景图…

    css 2023年6月9日
    00
  • 详解如何构建Angular项目目录结构

    下面我将为您详细讲解如何构建Angular项目目录结构。 1. 创建项目目录 构建Angular项目目录的第一步,就是创建一个项目目录。在这个项目目录下,您需要添加以下文件和文件夹: -angular.json -package.json -src/ -app/ -app.component.ts -app.module.ts -app.component.…

    css 2023年6月9日
    00
  • 给before和after伪元素设置js效果的方法

    给before和after伪元素设置js效果的方法主要有以下几个步骤: 首先,使用CSS选择器选中要添加效果的元素的before或after伪元素。例如: div:before { content: ""; display: block; width: 50px; height: 50px; background-color: red; …

    css 2023年6月10日
    00
  • JSON与js对象序列化实例详解

    当我们在前后端进行数据交互(如通过ajax请求获取数据)时,常常需要将数据格式化成JSON格式或js对象格式。在这个过程中,涉及到了JSON与js对象序列化的概念。下文将详细讲解JSON与js对象序列化的相关知识以及实例。 什么是JSON JSON是一种数据格式,它的全称是JavaScript Object Notation。JSON使用键值对的方式描述数据…

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