trae的下载链接:www.trae.cn

AI侧栏的右下角能切换添加智能体
直接生成网页:
html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>简易登录表单</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Arial', sans-serif;
}
body {
background-color: #f0f2f5;
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
}
.login-container {
background-color: white;
padding: 2rem 3rem;
border-radius: 8px;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
}
h1 {
text-align: center;
color: #1a73e8;
margin-bottom: 2rem;
font-size: 24px;
}
.form-group {
margin-bottom: 1.5rem;
}
label {
display: block;
margin-bottom: 0.5rem;
color: #5f6368;
font-size: 14px;
}
input {
width: 100%;
padding: 12px;
border: 1px solid #dadce0;
border-radius: 4px;
font-size: 16px;
transition: border-color 0.2s;
}
input:focus {
outline: none;
border-color: #1a73e8;
}
button {
width: 100%;
padding: 12px;
background-color: #1a73e8;
color: white;
border: none;
border-radius: 4px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: background-color 0.2s;
}
button:hover {
background-color: #1557b0;
}
.error-message {
color: #d93025;
font-size: 13px;
margin-top: 5px;
display: none;
}
.success-message {
color: #137333;
text-align: center;
margin-top: 1rem;
display: none;
}
</style>
</head>
<body>
<div class="login-container">
<h1>用户登录</h1>
<form id="loginForm">
<div class="form-group">
<label for="username">用户名</label>
<input type="text" id="username" name="username" required>
<div class="error-message" id="usernameError">请输入用户名</div>
</div>
<div class="form-group">
<label for="password">密码</label>
<input type="password" id="password" name="password" required>
<div class="error-message" id="passwordError">请输入密码</div>
</div>
<button type="submit">登录</button>
<div class="success-message" id="successMessage">登录成功!</div>
</form>
</div>
<script>
document.getElementById('loginForm').addEventListener('submit', function(e) {
e.preventDefault();
let isValid = true;
const username = document.getElementById('username').value.trim();
const password = document.getElementById('password').value.trim();
const usernameError = document.getElementById('usernameError');
const passwordError = document.getElementById('passwordError');
const successMessage = document.getElementById('successMessage');
// 重置错误消息和成功消息
usernameError.style.display = 'none';
passwordError.style.display = 'none';
successMessage.style.display = 'none';
// 验证用户名
if (username === '') {
usernameError.textContent = '请输入用户名';
usernameError.style.display = 'block';
isValid = false;
} else if (username.length < 3) {
usernameError.textContent = '用户名至少需要3个字符';
usernameError.style.display = 'block';
isValid = false;
}
// 验证密码
if (password === '') {
passwordError.textContent = '请输入密码';
passwordError.style.display = 'block';
isValid = false;
} else if (password.length < 6) {
passwordError.textContent = '密码至少需要6个字符';
passwordError.style.display = 'block';
isValid = false;
}
// 如果验证通过,显示成功消息
if (isValid) {
successMessage.style.display = 'block';
// 这里可以添加实际登录逻辑,比如发送请求到服务器
console.log('登录信息:', { username, password });
}
});
</script>
</body>
</html>
代码分析:
代码中出现的各标签作用:
DOCTYPE html
声明文档类型为 HTML5,告诉浏览器以现代标准解析页面。
html
根标签,包裹整个 HTML 文档,
lang="zh-CN"
指定语言为中文。head
包含页面元数据(如字符编码、页面标题)、外部资源引用(CSS、JS)等。
meta charset="UTF-8"
指定页面使用 UTF-8 字符编码,确保中文等特殊字符正确显示。
meta name="viewport"
优化移动设备显示,设置页面宽度等于设备宽度,初始缩放比例 1:1。
title
定义浏览器标签页和搜索引擎结果中显示的页面标题。
body
包含所有可见的页面内容(文本、图片、按钮等)。
div
块级容器,用于分组和布局其他元素。
form
创建 HTML 表单,用于用户输入,
id="loginForm"
用于 JavaScript 操作。label
为表单控件(如输入框)定义文本标签,提高可访问性。
input
创建各种表单输入控件,
type="text/password"
决定输入框类型。button
创建可点击按钮,type=
"submit"
触发表单提交。script
包含 JavaScript 代码,实现表单验证、交互逻辑等功能。
HTML部分
-
基础结构:使用<!DOCTYPE html>声明文档类型,<html>标签指定语言为中文
-
元数据:<head>中包含字符集声明、视口设置(<meta name="viewport">)和页面标题
-
表单容器:使用<div class="login-container">创建登录框,包含标题和表单元素
-
表单元素:
-
用户名输入框(id="username")
-
密码输入框(id="password")
-
登录按钮(type="submit")
-
错误提示和成功消息区域
CSS部分
-
基础样式:使用*选择器重置默认边距和内边距,设置全局字体
-
布局设计:
-
body使用flex布局实现居中对齐
-
登录框设置白色背景、圆角和阴影效果
-
响应式设计,最大宽度400px
- 交互样式:
-
输入框聚焦时边框变色
-
按钮悬停时背景色加深
-
错误消息默认隐藏(display: none)
JavaScript部分
-
事件监听:为表单添加提交事件监听器
-
表单验证:
-
阻止表单默认提交行为
-
验证用户名(非空检查和至少3个字符)
-
验证密码(非空检查和至少6个字符)
- 用户反馈:
-
显示相应的错误消息
-
验证通过时显示成功消息
-
控制台输出登录信息(实际应用中可替换为AJAX请求)
生成效果: