html+css动画来袭!登录人人可领

简介: html+css动画来袭!登录人人可领

先上效果



完整代码


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cool Login Page</title>
    <style>
      /* 基本样式重置 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}
body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background: linear-gradient(135deg, #ff7e5f, #feb47b);
    overflow: hidden;
}
/* 登录容器 */
.login-container {
    position: relative;
    width: 350px;
    padding: 40px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    backdrop-filter: blur(10px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    animation: slideIn 1s ease-out;
}
/* 表单标题 */
.login-form h2 {
    text-align: center;
    margin-bottom: 20px;
    color: white;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}
/* 输入组 */
.input-group {
    position: relative;
    margin-bottom: 30px;
}
.input-group input {
    width: 100%;
    padding: 10px;
    background: transparent;
    border: none;
    border-bottom: 2px solid white;
    color: white;
    font-size: 16px;
    transition: all 0.3s ease;
}
.input-group input:focus {
    outline: none;
    border-bottom: 2px solid #feb47b;
}
.input-group label {
    position: absolute;
    top: 10px;
    left: 0;
    pointer-events: none;
    transition: all 0.3s ease;
    color: rgba(255, 255, 255, 0.7);
}
.input-group input:focus + label,
.input-group input:valid + label {
    top: -20px;
    font-size: 12px;
    color: #feb47b;
}
/* 登录按钮 */
.login-button {
    width: 100%;
    padding: 10px;
    background: linear-gradient(135deg, #ff7e5f, #feb47b);
    border: none;
    border-radius: 25px;
    color: white;
    font-size: 18px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.login-button:hover {
    transform: scale(1.05);
    background: linear-gradient(135deg, #feb47b, #ff7e5f);
}
/* 动画效果 */
@keyframes slideIn {
    0% {
        transform: translateY(-100%);
        opacity: 0;
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
/* 冒泡效果 */
.bubbles {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}
.bubbles::before, .bubbles::after {
    content: '';
    position: absolute;
    bottom: -100px;
    width: 20px;
    height: 20px;
    background: rgba(255, 255, 255, 0.2);
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    animation: bubble 20s infinite linear;
}
.bubbles::before {
    left: 10%;
    animation-duration: 15s;
    animation-delay: 0s;
    transform: scale(0.5);
}
.bubbles::after {
    left: 70%;
    animation-duration: 18s;
    animation-delay: 3s;
    transform: scale(0.8);
}
@keyframes bubble {
    0% {
        transform: translateY(0) scale(1);
        opacity: 0;
    }
    50% {
        opacity: 0.7;
    }
    100% {
        transform: translateY(-1200px) scale(1.5);
        opacity: 0;
    }
}
    </style>
</head>
<body>
    <div class="login-container">
        <form class="login-form">
            <h2>Login</h2>
            <div class="input-group">
                <input type="text" required>
                <label>Username</label>
            </div>
            <div class="input-group">
                <input type="password" required>
                <label>Password</label>
            </div>
            <button type="submit" class="login-button">Login</button>
        </form>
    </div>
</body>
</html>

解析

  • 背景渐变: 使用 linear-gradient 创建一个从橙色到粉色的背景渐变,为页面提供了一个明亮的背景。
  • 登录容器: 半透明的背景和 backdrop-filter: blur(10px) 效果让容器看起来更加优雅, box-shadow 提供了一个轻微的阴影效果。使用 slideIn 动画实现页面加载时的下滑效果。
  • 输入组: 输入框的样式简洁,并且在获得焦点时变换边框颜色,同时标签位置上移。
  • 登录按钮: 按钮采用渐变背景,并且在悬停时略微放大,并且渐变方向反转,增加视觉动感。
相关文章
|
4天前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
1天前
|
XML JavaScript 前端开发
JavaWeb基础4——HTML,JavaScript&CSS
HTML,JavaScript&CSS、元素、标签、css 选择器、属性、JavaScript基础语法、JavaScript对象、BOM浏览器对象模型、DOM文档对象模型、事件监听、正则对象RegExp/ES6
JavaWeb基础4——HTML,JavaScript&CSS
|
17天前
|
前端开发 UED 开发者
有趣的CSS - 文字加载动画效果
这个文本加载动画简单而有趣,可以在网站标题、广告标语或者关键信息的展示上吸引用户的注意力。开发者可以根据需要调整动画的持续时间、步骤数,或者光标颜色等,来适应特定的设计需求。使用这种动态元素,增强网站的互动性和用户体验,同时也为网站增添了一抹活泼的风格。
34 5
|
14天前
|
移动开发 JavaScript 前端开发
揭秘!如何用Web2py+HTML5/CSS3/jQuery打造超炫响应式网站?你的设计梦想即将照进现实!
【8月更文挑战第31天】本文详细介绍如何利用Web2py框架及HTML5、CSS3与jQuery构建响应式网站。首先需安装Python和Web2py,并启动服务器。接着,在Web2py中创建新应用,例如命名为“ResponsiveSite”。随后,编写HTML5基本结构,包括头部、导航栏等元素。在`styles.css`文件中添加CSS3样式代码,实现响应式布局。最后,通过在`scripts.js`中加入jQuery脚本提升页面交互性,如点击导航项时平滑滚动至目标区域。此教程为你打下响应式网站设计的基础,便于进一步扩展和优化。
10 1
|
17天前
|
移动开发 前端开发 JavaScript
HTML与CSS二三事
HTML与CSS二三事
|
23天前
|
前端开发 JavaScript
3分钟掌握!用HTML+CSS实现懒加载,真的这么简单?
3分钟掌握!用HTML+CSS实现懒加载,真的这么简单?
|
14天前
|
前端开发 JavaScript 搜索推荐
打造个人博客网站:从零开始的HTML、CSS与JavaScript之旅
在这个数字时代,拥有一个个性化的网络空间已成为许多人的梦想。本文将引导你了解如何从零开始,使用HTML、CSS和JavaScript创建属于自己的博客网站。我们将探索这些技术的基础概念,并通过实际代码示例展示如何将静态页面转变为动态交互式网站。无论你是编程新手还是希望扩展技能的开发者,这篇文章都将为你提供一条清晰的学习路径。【8月更文挑战第31天】
|
14天前
|
Java 数据安全/隐私保护 安全
掌握Struts 2动态方法调用,让你的Web开发如虎添翼,轻松应对复杂业务需求!
【8月更文挑战第31天】在Web应用开发中,Struts 2框架因强大功能和灵活性而广受青睐。其动态方法调用(DMI)特性允许在不修改配置文件的情况下动态调用Action类中的方法,相比传统方法调用(需在`struts.xml`中为每个方法创建单独的`&lt;action&gt;`),DMI简化了配置并提升了灵活性、可维护性和扩展性。本文通过对比DMI与传统方法调用,展示如何利用DMI简化开发流程,并强调了在使用DMI时需注意的安全性和访问控制问题。
10 0
|
21天前
|
存储 前端开发
为 HTML 元素指定 CSS 样式的方式
【8月更文挑战第24天】
46 0
|
22天前
|
前端开发 JavaScript 开发者
css过渡与动画
css过渡与动画
32 0