新闻中心

CSS初级项目如何制作登录注册切换_tab切换与display控制

2025-11-27
浏览次数:
返回列表
登录注册切换功能通过HTML、CSS和J*aScript实现:1. HTML构建包含Tab标签和表单的结构,利用data-tab与id关联;2. CSS设置默认显示登录表单,隐藏注册表单;3. J*aScript监听Tab点击事件,动态切换表单显示与激活状态。

css初级项目如何制作登录注册切换_tab切换与display控制

登录注册切换功能是前端开发中常见的交互需求,通过点击不同的标签(Tab)来切换显示登录或注册表单。这个效果可以用原生 J*aScript 结合 CSS 的 display 属性轻松实现,不需要引入复杂框架。

1. 页面结构:HTML 搭建基础布局

我们需要一个容器,包含两个 Tab 标签(登录、注册),以及对应的两个表单内容区域。

<div class="auth-container">
  <div class="tabs">
    <span class="tab active" data-tab="login">登录</span>
    <span class="tab" data-tab="register">注册</span>
  </div>
<p><div class="form-container">
<div class="form login-form" id="login">
<h3>用户登录</h3>
<input type="text" placeholder="用户名" />
<input type="password" placeholder="密码" />
<button>登录</button>
</div></p><pre class='brush:php;toolbar:false;'><div class="form register-form" id="register">
  <h3>用户注册</h3>
  <input type="text" placeholder="用户名" />
  <input type="email" placeholder="邮箱" />
  <input type="password" placeholder="密码" />
  <button>注册</button>
</div>

2. 样式控制:使用 CSS 控制显示与隐藏

默认只显示登录表单,注册表单隐藏。通过设置 display: none 实现隐藏,display: block 显示对应内容。

.auth-container {
  width: 300px;
  margin: 50px auto;
  font-family: Arial, sans-serif;
}
<p>.tabs {
display: flex;
border-bottom: 1px solid #ddd;
}</p><p>.tab {
padding: 10px 15px;
cursor: pointer;
background: #f5f5f5;
border: 1px solid #ddd;
border-bottom: none;
margin-right: 5px;
border-radius: 5px 5px 0 0;
}</p><p>.tab.active {
background: #fff;
font-weight: bold;
}</p><p>.form-container {
padding: 20px;
border: 1px solid #ddd;
border-top: none;
min-height: 200px;
}</p><p>.form {
display: none; /<em> 所有表单默认隐藏 </em>/
}</p><p>.form.login-form {
display: block; /<em> 默认显示登录表单 </em>/
}</p>

3. 交互逻辑:J*aScript 控制 Tab 切换

为每个 Tab 添加点击事件,根据 data-tab 属性决定显示哪个表单,并更新 Tab 的激活状态。

语鲸 语鲸

AI智能阅读辅助工具

语鲸 314 查看详情 语鲸
document.querySelectorAll('.tab').forEach(tab => {
  tab.addEventListener('click', function() {
    // 获取当前点击的 tab 对应的内容 ID
    const target = this.getAttribute('data-tab');
<pre class='brush:php;toolbar:false;'>// 移除所有 tab 的 active 类
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));

// 给当前 tab 添加 active 类
this.classList.add('active');

// 隐藏所有表单
document.querySelectorAll('.form').forEach(form => {
  form.style.display = 'none';
});

// 显示目标表单
document.getElementById(target).style.display = 'block';

}); });

4. 关键点总结

整个实现的核心在于利用 display 属性动态控制元素的显示与隐藏。同时通过自定义属性 data-tab 建立 Tab 与内容之间的映射关系,使代码更清晰易维护。

  • HTML 负责结构,用 data-tabid 关联 Tab 与内容
  • CSS 设置默认样式,隐藏非激活的表单
  • J*aScript 监听点击,切换显示内容并更新视觉状态
  • 避免使用多个 display 规则冲突,推荐直接操作 style.display

基本上就这些。不复杂但容易忽略细节,比如初始状态设置和类名清除。掌握这个模式后,可以扩展到更多 Tab 场景,如商品详情页、用户设置面板等。

以上就是CSS初级项目如何制作登录注册切换_tab切换与display控制的详细内容,更多请关注其它相关文章!


# 多个  # 南昌优化网站公司哪家好  # 佛山关键词排名查询  # 成都云网客seo  # 乐山营销推广报价明细  # 京东全站营销推广策略  # 永州购物网站建设素材  # 西城商城网站建设  # 手机网站优化有哪些  # 大学生日常用品营销推广  # 在沈阳怎样进行网站建设  # 自定义  # 中文网  # 相关文章  # 可以用  # 不需要  # css  # 不均匀  # 中不  # 表单  # 用户注  # 点击事件  # 邮箱  # 注册表  # ai  # 前端开发  # ssl  # 前端  # html  # java  # word  # javascript 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 蛙漫画网页版全站入口 蛙漫热门作品免费浏览  CSS图片焦点样式实现教程:理解与应用tabindex属性  如何使用Node.js csv 包按条件移除含空字段的CSV记录  CSS布局:解决全屏元素100%尺寸与外边距导致的页面溢出问题  Lar*el 递归关系中排除指定分支的教程  Node.js CSV 数据处理:基于字段空值条件过滤整条记录的策略  钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧  Typer应用中动态命令行参数的解析与处理  如何仅使用CSS更改登录界面背景图像图标的颜色  Golang如何使用bytes.Split分割字节切片_Golang bytes切片分割方法  WordPress插件开发:正确注册卸载钩子与避免常见陷阱  怎么在html里运行vbs脚本_html中运行vbs脚本方法【教程】  如何使用Go和Martini动态服务解码后的图片  在VS Code中配置和运行Dart程序的完整步骤  深入理解字体排版:Adobe光学字偶距与CSS字偶距的差异与实现  中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  J*aScript中如何高效提取对象指定属性  Win11网速慢怎么解决 Win11网络设置优化解除限速  KFC早餐时段怎么领特惠代码_KFC早餐订餐优惠代码获取与使用说明  漫蛙MANWA漫画主页官方入口 漫蛙漫画最新在线阅读地址  大象笔记网页版入口 印象笔记网页版登录入口  Win11怎么关闭触摸屏_Windows 11禁用HID符合标准触摸屏  魅族20怎样在浏览器开无图省流_iPhone魅族20浏览器开无图省流【流量节省】  汽水音乐车机版8.9下载 汽水音乐车机版8.9版本安装入口  Win10快速启动功能利弊分析 Win10开启或关闭快速启动教程【技巧】  抖音网页版平台入口 抖音网页版官网在线访问教程  提升Kafka消费者健壮性:会话超时处理与消息处理语义  如何使用Rector自动化升级旧代码_通过Composer安装和配置Rector进行代码重构  搜狗浏览器如何使用密码生成器创建强密码 搜狗浏览器内置密码安全工具  蛙漫官方正版入口 蛙漫网页在线全集免费观看  谷歌浏览器一键优化方案_谷歌浏览器直达主页极速不卡版  铁路12306卧铺选择攻略 铁路12306下铺座位预定技巧  神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正  怎么在浏览器上运行HTML文件_浏览器运行HTML文件技巧【技巧】  抖音网页版企业服务中心登录入口_抖音网页版企业登录平台  css绝对定位元素脱离父容器怎么办_确保父元素position非static  解决macOS Tkinter应用双击启动崩溃:PyInstaller打包指南  CSS响应式网页如何实现主次模块比例自适应_flex-grow与flex-shrink调整  在Qt QML中通过Python字典动态更新TextEdit内容的教程  c++20的std::jthread是什么_c++可中断线程与RAII式管理  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  顺丰国际快递查询 国际件官方查询入口  Go语言HTML解析:利用Goquery精准获取指定元素内容  TikTok国际版网页端快速入口 TikTok全球版短视频浏览教程  qq游戏跨平台入口_qq游戏多设备同步登录  海棠账号登录入口_登录海棠账户同步阅读记录  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  字由网在线版登录地址 字由网网页版安全入口  mc.js官网登录入口 mc.js官方登录入口最新版  妖精动漫免费平台 妖精动漫官网资源观看网址 

搜索