【html+css】适合初学者练手的登录界面
文章目录绪论一、新建一个html项目1. 创建项目文件夹与文件2. 使用 Emmet 快速生成 HTML5 骨架3. 使用 Live Server 实时预览页面二、构建 HTML 结构框架1. 理解 div 与 span 标签容器元素2. 登录界面框架设计三、 使用css美化界面绪论本文旨在为零基础的 Web 开发初学者提供一个完整的入门实践指南。我们将通过动手制作一个登录界面来直观地理解 HTML 与 CSS 的核心作用。HTML (HyperText Markup Language)是网页的“骨架”和“内容”。它负责定义网页的结构例如标题、段落、输入框、按钮等元素就像盖房子时搭建的梁柱和墙壁。CSS (Cascading Style Sheets)是网页的“皮肤”和“装饰”。它负责控制网页的视觉表现例如颜色、字体、布局、间距、动画等让房子变得美观、舒适。开发环境准备我们将使用Visual Studio Code (VS Code)作为代码编辑器。您需要从其官网下载并安装 VS Code。在 VS Code 中安装Live Server插件。安装后在 HTML 文件上右键选择 “Open with Live Server”即可在浏览器中实时预览网页代码保存后页面会自动刷新极大提升开发效率。接下来让我们从零开始一步步构建这个登录界面。一、新建一个html项目1. 创建项目文件夹与文件在 VS Code 中新建项目文件夹例如命名为dengluyemian001然后在该文件夹内创建以下项目文件项目结构如下图所示操作步骤详解创建项目文件夹在 VS Code 中通过菜单栏的“文件” → “新建文件夹”或直接在资源管理器中新建一个文件夹命名为dengluyemian001或其他你喜欢的名称。创建项目文件在新建的文件夹内右键选择“新建文件”依次创建以下文件index.html网页的 HTML 主文件。style.cssCSS 样式文件。bg.png背景图片文件可从网络下载或自行准备。fontawesome-free-7.3.0-web/文件夹用于存放 Font Awesome 图标库需从官网下载后放入。完成后的项目结构应与上图一致这样我们就有了一个清晰、规范的项目目录便于后续开发与管理。各文件作用说明index.html网页的主入口文件包含 HTML 结构。style.css样式表文件负责美化页面颜色、布局、字体等。bg.png背景图片用于登录界面的背景图。fontawesome-free-7.3.0-web/Font Awesome 图标库的本地文件夹需要自行下载并放置里面包含我们需要的用户fa-user和锁fa-lock图标。关于 Font Awesome 文件夹的说明本项目使用本地引用的 Font Awesome 图标库而非在线 CDN目的是让图标在离线环境下也能正常显示。你需要在 Font Awesome 官网下载页面 下载免费的Web版本通常是一个.zip文件解压后会得到一个名为fontawesome-free-7.3.0-web版本号可能不同的文件夹。请将整个文件夹直接复制到你的项目目录下然后在index.html的head中通过以下链接引入linkrelstylesheethreffontawesome-free-7.3.0-web/css/all.min.css这样在 HTML 中就可以使用i classfa-solid fa-user/i等类名来显示图标了。后续在“制造整体框架”一节中我们会在登录表单的输入框前使用这些图标。2. 使用 Emmet 快速生成 HTML5 骨架VS Code 内置了强大的Emmet缩写功能可以让我们快速生成标准的 HTML5 文档结构无需手动输入大量重复代码。操作方法在项目文件夹中打开我们刚刚创建的index.html文件。确保文件是空白的并且输入法处于英文状态。在文件的第一行输入一个英文感叹号!。按下键盘上的Tab 键或回车键。此时VS Code 会自动展开并生成如下完整的 HTML5 骨架代码!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metahttp-equivX-UA-CompatiblecontentIEedgemetanameviewportcontentwidthdevice-width, initial-scale1.0titleDocument/title/headbody/body/html小提示这个!是 Emmet 的预设缩写VS Code 原生支持无需安装任何插件。生成后我们可以将title标签中的Document修改为我们的页面标题例如登录页面。在body标签内我们就可以开始编写登录界面的具体 HTML 结构了。HTML标签说明3. 使用 Live Server 实时预览页面在 VS Code 中右键点击index.html文件选择“Open with Live Server”即可在默认浏览器中打开并实时预览当前页面。常见问题Live Server 未自动刷新有时修改代码后浏览器页面可能不会自动刷新。这通常是因为 VS Code 的“自动保存”功能未开启或设置不当。解决方案开启自动保存点击 VS Code 左下角的齿轮图标 ⚙️选择“设置”。在搜索框中输入“自动保存”。找到“Files: Auto Save”选项将其设置为“afterDelay”。将“Files: Auto Save Delay”设置为500即 0.5 秒后自动保存。设置完成后VS Code 会在你停止输入 0.5 秒后自动保存文件Live Server 检测到文件变化就会自动刷新浏览器页面实现真正的“实时预览”。小提示如果开启自动保存时遇到弹窗报错可能是 VS Code 配置文件损坏。可以尝试重启 VS Code或通过“文件” → “首选项” → “设置”界面进行配置避免直接修改 JSON 文件。二、构建 HTML 结构框架在开始编写具体代码之前我们先来理解一下构建网页布局的核心概念——div 标签。1. 理解 div 与 span 标签容器元素在网页制作中divdivision分区标签是一个通用的块级容器元素用于将页面划分为独立的逻辑区块。你可以把它想象成一个“大盒子”每个盒子可以独立设置样式、布局和内容。为什么使用 div结构清晰将页面划分为不同的逻辑部分如头部、主体、侧边栏、底部使代码结构一目了然。便于 CSS 排版通过为 div 设置 class 或 id可以精确控制每个区块的样式和布局实现复杂的页面设计。响应式布局结合 CSS 的 Flexbox 或 Grid 布局div 可以轻松实现适应不同屏幕尺寸的响应式设计。下图展示了一个典型的网页布局结构其中不同颜色的区块就是由不同的 div 容器组成与div相对应的是span标签它是一个行内inline容器。span本身没有特定的语义含义主要用于对文本或行内元素如图标、输入框进行分组以便应用相同的 CSS 样式而不会像div那样独占一行即打断文档流。简单来说div常用于划分大的区块块级元素是页面布局的骨架。span常用于修饰行内的小片段是精细化样式控制的工具。两者都是“容器”但应用的场景和默认的显示方式不同。在我们的登录界面中div用于构建外层容器.container、头部.header和主体.main等大区域而span则用于包裹每一行中的图标和输入框方便我们对它们进行统一的样式设置如定位图标。2. 登录界面框架设计下图清晰地展示了我们即将构建的登录界面的 HTML 结构框架它直观地呈现了由外到内的三层嵌套关系## 3. 编写 HTML 代码1、现在我们将设计图转化为HTML 代码代码如下!DOCTYPEhtmlhtmllangenheadmetacharsetUTF-8metanameviewportcontentwidthdevice-width, initial-scale1.0title登录页面/title!-- 引入我们自己的样式文件 --linkrelstylesheethrefstyle.css!-- 引入 Font Awesome 图标库 --linkrelstylesheethreffontawesome-free-7.3.0-web/css/all.min.css/headbody!-- 最外层容器用于居中并承载整个登录框 --divclasscontainer!-- 头部区域放置标题 --divclassheaderh1登录/h1/div!-- 主体区域放置表单 --divclassmainform!-- 账号输入行 --spanclassinput-groupiclassfa-solid fa-user/iinputtypetextplaceholder请输入账号/spanbr!-- 密码输入行 --spanclassinput-groupiclassfa-solid fa-lock/iinputtypepasswordplaceholder请输入密码/spanbr!-- 登录按钮 --buttontypebutton登 录/button/form/div/div/body/html2、保存index.html文件并通过 Live Server 在浏览器中打开你将看到如下效果需要注意的是目前这个登录按钮仅是一个视觉元素点击它不会有任何跳转或验证逻辑。这是因为本教程的核心是HTML 与 CSS 的入门实践专注于界面构建。如果你想实现真正的登录功能如验证账号密码、页面跳转需要在后续学习中为其添加JavaScript代码。现在的页面只有“骨架”没有“皮肤”看起来非常简陋。接下来对登录界面进行美化。三、 使用css美化界面美化后界面如下整体设计逻辑为由外到内由粗到细先全局画布再整体弹窗容器容器内再拆分标题表单两大块先写公共共用样式再单独改写差异化样式最后做图标精细定位收尾再加hover交互效果。学习建议在编写 CSS 时如果遇到不熟悉的属性如box-sizing、position可以随时使用搜索引擎查询其用法和示例。CSS 的学习很大程度上依赖于实践和积累多写多试自然就能熟练掌握。代码如下body{font-family:sans-serif;background-image:url(./bg.png);background-repeat:no-repeat;/* 溢出隐藏 */overflow:hidden;background-size:cover;}.container{width:380px;margin:7% auto;border-radius:25px;background-color:rgba(0,0,0,0.1);/* 阴影部分 */box-shadow:0 0 17px #333;}.header{text-align:center;padding-top:75px;}.header h1{color:#333;font-size:45px;margin-bottom:80px;}.main{text-align:center;}.main input,button{width:300px;height:40px;/* 边框消失 */border:none;/* 选中时的外部边框包围去掉 */outline:none;padding-left:40px;/* 把padding和border的值都算在content里, 盒子模型自动根据padding和border的值来压缩content值不会把盒子撑大*/box-sizing:border-box;font-size:15px;color:#333;margin-bottom:40px;}/* 同权重规则后写的代码样式覆盖先写的代码样式 */.main button{/* 取消左侧空白文字恢复在按钮水平中间区域 */padding-left:0;background-color:#f2d8e4;letter-spacing:1px;font-weight:bold;margin-bottom:70px;box-shadow:0 2px 6px #a88899;border-radius:6px;}/* 增加Hover效果鼠标移到按钮按钮上有阴影效果 */.main button:hover{box-shadow:2px 2px 5px #555;background-color:#b99cab;}/* input输入框同样增加Hover效果 */.main input:hover{box-shadow:2px 2px 5px #555;background-color:#ddd;}/* 解决图标相对定位 */.main span{/* 相对定位 */position:relative;}.main i{position:absolute;left:15px;color:#333;font-size:16px;top:4px}

相关新闻

程序合成:从自然语言到可验证代码的工程化实践

程序合成:从自然语言到可验证代码的工程化实践

1. 这不是科幻,是正在发生的代码革命:从“写代码”到“说需求”的范式迁移“Program Synthesis — Making Code Write Itself”这个标题乍看像极了某部硬核科幻片的副标题,但如果你最近翻过ACM SIGPLAN的会议论文集、刷过GitHub上star破万的开…

2026/7/12 3:57:38阅读更多 →
模切辅料权威厂家

模切辅料权威厂家

在讨论模切辅料权威厂家时,我们可以聚焦于深圳市鼎顺莱新材料有限公司(简称:鼎顺莱新材料),这是一家在深圳光明区拥有良好声誉的公司。鼎顺莱新材料专注于提供包括导电泡棉、散热石墨片在内的多种电子辅助材料&#xf…

2026/7/12 3:57:38阅读更多 →
从电信计费到软件设计:1个计费系统如何应对3类业务规则变化

从电信计费到软件设计:1个计费系统如何应对3类业务规则变化

从电信计费到软件设计:弹性架构如何应对多变的业务规则在电信行业,计费系统堪称业务复杂度的"试金石"。一个市级电信公司的计费规则可能包含数十种套餐类型、数百种资费组合,且每月都有新套餐推出、旧套餐调整。这种高频变化的业务…

2026/7/12 3:52:38阅读更多 →
基于Unidbg的小红书加密协议动态分析与算法还原实战

基于Unidbg的小红书加密协议动态分析与算法还原实战

1. 项目概述与核心价值最近在移动安全研究圈里,讨论小红书的加密协议成了一个热门话题。无论是做数据采集、风控研究,还是单纯对移动端安全机制好奇,很多人都会撞上小红书那套复杂的签名体系。你抓个包,会发现请求里带着一堆像x-s…

2026/7/12 5:07:43阅读更多 →
深度剖析开源歌词工具:163MusicLyrics的双平台架构与高效实现

深度剖析开源歌词工具:163MusicLyrics的双平台架构与高效实现

深度剖析开源歌词工具:163MusicLyrics的双平台架构与高效实现 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 163MusicLyrics是一款专业的开源云音乐歌词提取…

2026/7/12 5:07:43阅读更多 →
水质传感器设计:多参数水质分析仪整体架构与核心设计逻辑(行业入门必看)

水质传感器设计:多参数水质分析仪整体架构与核心设计逻辑(行业入门必看)

专栏定位:本专栏为「多参数水质传感器从原理到量产」连载系列,聚焦一线研发、量产、落地实战经验,循序渐进拆解分析仪整机架构、传感器选型、硬件抗干扰、结构防水、算法校准、量产一致性等核心技术。适合水质设备研发工程师、行业从业者、设…

2026/7/12 5:07:43阅读更多 →
163MusicLyrics:一款解决音乐爱好者歌词提取难题的跨平台开源工具

163MusicLyrics:一款解决音乐爱好者歌词提取难题的跨平台开源工具

163MusicLyrics:一款解决音乐爱好者歌词提取难题的跨平台开源工具 【免费下载链接】163MusicLyrics 云音乐歌词获取处理工具【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 还在为喜欢的歌曲找不到歌词而烦恼吗&#…

2026/7/12 5:07:43阅读更多 →
蔡司ATOS Q三维扫描在线束端子全尺寸检测中的应用

蔡司ATOS Q三维扫描在线束端子全尺寸检测中的应用

在精密电子制造领域,线束端子作为连接器的核心部件,其尺寸精度、表面质量直接影响整个电子系统的可靠性与稳定性。传统检测方式依赖卡尺、显微镜等接触式测量,效率低且易受人为因素影响。本文将详细解析如何利用蔡司ATOS Q三维扫描系统&#…

2026/7/12 5:07:43阅读更多 →
AI叙事生成技术:从原理到实践的Fable类系统开发指南

AI叙事生成技术:从原理到实践的Fable类系统开发指南

如果你最近关注AI领域,可能会注意到一个有趣的现象:围绕"Fable"的讨论正在升温。从"claude fable 5"到"fable 5接入",这些热词背后反映的是开发者对新一代AI叙事生成技术的期待。但这里有个关键问题需要澄清&a…

2026/7/12 5:02:42阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/12 0:02:11阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/12 0:02:11阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/12 0:02:11阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/11 16:20:28阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/11 23:15:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/11 18:12:23阅读更多 →