新闻详情

新闻详情

首页 / 资讯中心 / 详情

零基础手写第一个网页:HTML与CSS完整实战指南

发布时间:2026/9/15 2:53:28来源:尧图网络
零基础手写第一个网页:HTML与CSS完整实战指南
说个可能让很多人意外的事我见过的不少开发者入行第一课都是从“网页”开始的但真正把第一个网页做得像样的反而没几个。不是他们不认真而是大多数教程只教了“怎么写标签”没讲“这东西到底在电脑里怎么跑起来的”。这篇文章想聊的就是你人生中第一个网页——从零开始用最笨但最扎实的方式手工写一个能被浏览器打开、能在手机和电脑上都正常显示的页面。不讲框架、不碰构建工具就纯 HTML CSS让你彻底搞清楚网页最底层的运转逻辑。适合完全零基础的新手也适合那些写过不少代码、却没系统梳理过网页原理的朋友当一次复盘。第一个网页从零手写HTML与CSS的完整实战1. 网页的本质浏览器到底在做什么想理解网页先搞清楚一个最基础的问题当你在地址栏输入网址、按下回车浏览器做了什么1.1 从服务器到浏览器一场“拿文件”的游戏换个生活化的说法整个过程特别像你去图书馆借书。你在检索台上输入书名输入网址图书馆管理员根据编号去书库找书服务器根据域名返回文件最后把书送到你手上浏览器下载文件你翻开阅读浏览器解析渲染。这里面有个关键点网页本质上就是一堆文本文件只是这些文件里藏着特定的“标记语法”——也就是HTML标签。浏览器接到这堆文本后会按既定规则把它们翻译成你看到的标题、段落、图片、按钮。所以网页开发的前两步一个是“写文件”一个是“让浏览器读懂文件”。那“让浏览器读懂”具体靠什么靠的就是W3C这些标准化组织制定的HTML规范。浏览器厂商Chrome、Firefox、Safari这些按规范来实现解析器我们写的标签符合规范浏览器就能稳定地把它渲染出来。这也是为什么我一直建议新手用现代浏览器调试——它们对规范支持最好报错信息也更友好。1.2 三个核心技术怎么分工网页开发入门会听到三个词HTML、CSS、JavaScript。很多人一上来就慌了觉得要同时学三门语言。其实它们的分工特别清楚HTML负责“有什么”——页面上有哪些内容模块标题、段落、图片、导航栏CSS负责“长什么样”——颜色、大小、间距、位置、动画JavaScript负责“能干什么”——点击按钮弹窗、表单验证、数据请求。用盖房子打比方HTML是毛坯房的水泥墙和承重柱CSS是墙面漆、地砖和软装JavaScript则是水电管路和智能家居系统。第一个网页阶段你只需要操心HTML和CSSJavaScript可以往后放。提示我最不建议新手的路径是一上来就装一堆工具链Node.js、Vue CLI、Webpack。工具是为了解决复杂度而生的你连静态页面都没写利索就先去学工具等于还没学会走路就开始研究该买什么牌子的跑鞋。先手写再上工具这是最稳的路。2. 动手前的准备工具与浏览器选择写网页不需要你掏钱买任何软件但工具选对了能少踩很多坑。2.1 浏览器推荐Chrome或Edge浏览器是网页的“运行环境”所以它必须是主战场。我的建议是主力用Chrome或EdgeWindows 11自带内核和Chrome一致国内访问生态也不错调试页面右键菜单里的“检查”打开开发者工具这是你后期排查问题最得力的助手Firefox也可以作为备选它的开发者工具在某些场景下比Chrome更好用比如看CSS Grid布局。别用旧版IE不是你写的有问题而是IE对现代CSS支持极差会给你带来一堆莫名其妙的兼容负担。2024年了国内还有极少数老旧系统环境只能用IE但个人学习完全不必迁就它。2.2 编辑器从记事本到VS Code“第一个网页”其实用Windows自带记事本就能写因为HTML文件本质就是纯文本。但记事本没有语法高亮和自动补齐写长文件容易眼睛花、少打引号。我推荐你直接装VS CodeVisual Studio Code免费、开源、插件丰富是目前写前端的主流选择。装好后建议再装两个插件Live Server右键HTML文件可以启动本地服务实现“改代码自动刷新浏览器”省去手动刷新的动作Prettier - Code formatter帮你自动格式化代码统一缩进风格避免你自己敲得乱七八糟。工具只是辅助别花太多时间折腾配置。装好就能用后面熟悉了再按需调。2.3 新建项目文件夹给第一个网页安个家在桌面建一个文件夹命名随意比如my-first-page。在这个文件夹里我们再建一个子文件夹images放图片的和一个文件index.html。index.html这个命名是约定俗成的服务器在访问目录时默认会去找名为index的文件。如果你是本地双击打开叫别的名字也行但如果你以后部署到服务器上不叫index会导致目录列表暴露或者访问失败。养成好习惯第一个页面就叫index.html。3. 手写第一个HTML逐行拆解现在开始动手。用VS Code打开index.html把下面这段代码完整敲进去。我不建议直接复制手动敲一遍对记忆标签结构非常有帮助。3.1 完整的HTML骨架长什么样!DOCTYPE html html langzh-CN head meta charsetUTF-8 meta nameviewport contentwidthdevice-width, initial-scale1.0 title我的第一个网页/title /head body h1你好世界/h1 p这是我亲手写的第一个网页。/p /body /html输入完成后按Ctrl S保存然后在文件夹里双击这个文件浏览器会把它打开。你看到的应该是一个标题加一段文字页面左上角标签页写着“我的第一个网页”。哪怕就这么几行也值得逐行解释清楚第1行!DOCTYPE html这是文档类型声明告诉浏览器“请按现代HTML标准来解析”。没了这行浏览器会进入“怪异模式”很多CSS表现会不一样。所以它更像是一个“防呆开关”必须存在。第2行html langzh-CN根元素包住整个页面。langzh-CN告诉浏览器和搜索引擎这个页面主要语言是简体中文对无障碍读屏和SEO都有帮助。第4-7行head区这里是页面的“大脑”存放元数据——页面标题、字符编码、给搜索引擎看的关键词描述等。head里的内容不会直接显示在页面上但它决定了页面的“幕后配置”。第5行meta charsetUTF-8强制指定字符编码为UTF-8。很多新手中文页面显示成乱码99%是这个标签没写对。必须放在head最靠前的位置因为它要在浏览器读后续内容之前就生效。第6行meta nameviewport contentwidthdevice-width, initial-scale1.0这是移动端适配的关键让页面宽度跟随设备屏幕宽度。没有这行手机浏览器会默认按980px宽度渲染再缩放字会小到看不清。你现在可能体会不到但做完页面后用手机打开对比一下这行去掉和保留的区别立刻就能理解。第8行title浏览器标签页上显示的文字也是搜索引擎结果里的大标题。注意它虽然写在head里但它的内容会显示在浏览器的界面标签栏上只是不显示在页面正文里。第10-13行body区页面所有“看得见”的内容都在这里。h1是一级标题p是段落。h1在页面中一般只出现一次因为它代表页面层级里最高级别的主题用多了对SEO不友好。3.2 骨架和躯体的关系有人会问为什么要把页面内容分成head和body两块直接全塞进去不就行了你可以这样理解head是路由器说明书body是路由器本体。说明书描述设备怎么配置本体才是你真正用的东西。浏览器在渲染页面时会先读取head里的配置信息编码、视口、样式表链接再开始绘制body里的内容。如果编码没设置对页面就是乱码如果视口没设置对移动端就显示错乱。这种“配置和内容分离”的思想在后面的CSS里会更强化——CSS推荐用外部样式表也是把“样式配置”和“HTML结构”分开管理。4. 丰富页面内容常用HTML标签实战骨架有了接下来往body里加“肉”。目标是在页面上呈现一个完整的人物介绍卡片包含标题、段落、列表、链接、图片这几个最常用的元素。4.1 标题和段落搭建信息层级网页内容的可读性很大程度靠标题层级撑起来。HTML提供了h1到h6六级标题重要性递减。h1小李的个人主页/h1 h2关于我/h2 p你好我是小李一名前端开发学习者。/p h2技能列表/h2 p目前正在学习HTML和CSS。/p有人会纠结字号大小这里有个很重要的原则不要用标题标签来“调字号”。h1是给最高层级标题用的h3是给子章节用的层级关系反映的是内容的逻辑结构而不是“这个字要大一点所以用h1”。字号的大小由CSS控制结构语义由HTML标签表达。这个思维一旦建立后面写复杂页面就不会混乱。4.2 列表有序和无序罗列技能、步骤、导航菜单时列表是最高频的标签之一。h3我的技能/h3 ul liHTML/li liCSS/li liJavaScript学习ing/li /ulul是无序列表项目符号是圆点适合没有先后顺序的内容ol是有序列表项目符号是数字适合有顺序的步骤。注意列表里最直接的子元素只能是li不能直接把一段文字塞进ul里这是HTML结构规范。4.3 链接和图片连接的开始没有链接的网页是孤岛。链接的标签是a图片是img。p这是我的博客a hrefhttps://example.com target_blank点击访问/a/p img srcimages/my-avatar.jpg alt小李的头像两个标签分别解释一下a标签里的href属性是链接地址target_blank表示在新标签页打开。属性href是必须的没有它a不过是一段普通文字。img标签和a不一样它是自闭合标签不需要/img结尾。它的src属性指向图片路径alt属性是图片加载失败时显示的替换文本也是屏幕阅读器读给视障用户听的文字。这里有个细节图片路径“images/my-avatar.jpg”是相对路径意思是相对于当前HTML文件所在目录去找images文件夹里的图片。新手最容易犯的错是把绝对路径比如C:\Users\...或file:///...写死在src里这样换台电脑或部署到服务器就找不到图了。4.4 结构标签给页面分块页面上往往有导航栏、主内容区、页脚这些该用什么标签HTML5提供了一批语义化标签header h1小李的个人主页/h1 /header main section h2关于我/h2 p……/p /section /main footer p版权所有 © 2024/p /footerheader是页头main是主要内容区section是一个内容分块footer是页脚。语义化标签的好处有两个一是代码结构清晰自己二周后回来看也知道哪块是干嘛的二是对SEO和屏幕阅读器友好搜索引擎能更准确地理解页面结构。虽然你暂时看不出直接收益但这是专业开发者必须具备的思维底色。5. CSS样式让页面告别素颜只靠HTML页面好比没装修的毛坯房。接下来用CSS让它有点样子。5.1 三种CSS引入方式用哪种CSS有三种写法行内样式写在标签的style属性里如p stylecolor:red内部样式写在head里的style标签中外部样式单独写一个.css文件在HTML中通过link引入。我建议你从外部样式开始新建文件style.css然后回到index.html的head里加一行link relstylesheet hrefstyle.css为什么推荐外部样式因为“结构”和“表现”分离是网页开发的黄金法则。以后你的网站有10个页面每个页面都要用同一套样式如果写内部样式就得复制10份外部样式只需要一个文件被10个页面引用改一处全部生效。这就是复用思维。5.2 CSS基本语法选择器、属性、值打开style.css敲入第一行CSSh1 { color: #2c3e50; }.css文件的语法规则是选择器 { 属性: 值; }。h1是选择器意思是“我要选中页面里所有的h1元素”color是属性代表文字颜色#2c3e50是值一个深蓝灰色。保存后在浏览器刷新标题颜色会变化。这就是CSS最原子的工作方式选中元素、施加样式。顺着这个思路我们把页面整体美化一下。给body设置字体和背景色给卡片区域设置边框和内边距body { font-family: PingFang SC, Microsoft YaHei, sans-serif; background-color: #f5f6fa; margin: 0; padding: 20px; } .card { background: #ffffff; border-radius: 8px; padding: 24px; max-width: 640px; margin: 0 auto; }这里出现了.card——一个类选择器。它不是HTML标签名而是我们自定义的样式类名。要让这个类起作用HTML里得有元素来用它于是在body里把内容包一层div classcard header……/header main……/main footer……/footer /divdiv是一个无语义的容器标签用来分组和包裹内容。给div加上classcardCSS中的.card规则就会命中它。这是前端开发里最常用的组合技能之一div负责分组class负责挂钩子CSS负责装扮。5.3 盒模型理解一切的钥匙CSS布局里最核心的概念就是盒模型。简单说页面上的每一个元素都是一个矩形盒子从内到外依次是content实际内容区域比如文字、图片padding内边距内容到边框的距离border边框margin外边距盒子和其他元素的距离。在上面.card代码里padding: 24px就是让内容离卡片边缘24像素不让文字贴边margin: 0 auto的意思是上下外边距为0左右自动——当元素设置了固定宽度max-width后auto会平均分配左右剩余空间这就实现了水平居中。盒模型是新手最容易糊涂的地方。我自己当年就干过蠢事给两个盒子各设了width: 200px和padding: 20px结果实际占宽变成了240px两个盒子并排就超了容器宽度直接换行。后来才明白默认情况下width只包含内容区宽度不包含padding和border。这个默认值叫content-box。如果想更直观地看到盒模型可以在浏览器里右键元素选“检查”在开发者工具的“样式”标签页下面能看到可视化的盒模型示意图。那里的蓝色是content绿色是padding黄色是border橙色是margin。建议你第一次接触时动手改改这些数值马上就能看到页面元素跟着变化。注意如果你想规避盒模型计算带来的麻烦可以在CSS开头加一行通配选择器* { box-sizing: border-box; }border-box会让width直接包含padding和border这样你写的宽度就是实际渲染宽度计算更直观。这是我个人的习惯几乎所有项目都会加这一行。当然理解默认的content-box依然很重要因为很多第三方组件的样式可能会按默认模型计算。5.4 文本样式让阅读更舒适网页上的内容大多数是文字所以文本样式的优先级很高。常用属性有body { font-size: 16px; line-height: 1.6; color: #333; } h1 { font-size: 32px; text-align: center; } p { text-indent: 2em; }几个属性和值的含义说明一下font-size字号。页面默认是16px移动端和桌面端读取体验差异很大一般正文不低于14pxline-height行高。设为1.6表示行高是字体大小的1.6倍这个值能保证阅读时行与行之间不拥挤也不会太稀疏text-align对齐方式center是居中left是左对齐justify是两端对齐text-indent: 2em首行缩进两字符em是相对单位1em等于当前元素字体大小所以2em就是缩进两个字宽模拟中文排版习惯。em和rem这类相对单位是CSS进阶必须掌握的。和固定像素px相比相对单位能随基础字号变化而缩放对无障碍调整字体大小更友好。第一个页面至少要认识em和%。5.5 布局初体验flex让元素排队最早做页面会遇到一个高频需求几个元素排成一行。传统的用display: inline-block或者浮动float实现现在有了更优雅的方案——Flexbox弹性布局。nav { display: flex; justify-content: center; gap: 20px; } nav a { text-decoration: none; color: #3498db; padding: 8px 16px; border: 1px solid #3498db; border-radius: 4px; }配合的HTML结构nav a href#首页/a a href#关于/a a href#作品/a a href#联系/a /navdisplay: flex把nav变成弹性容器它内部的直接子元素几个a会自动排成一行从主轴默认水平方向开始布局。justify-content: center让它们在水平方向居中gap: 20px控制元素间距。三行代码解决了以前用浮动还要清浮动的老问题。Flexbox非常强大但新手阶段只需要掌握它的三个最常用场景水平居中、垂直居中、元素间距均匀分布。第一个网页能用到居中和间距就够了剩下的等需要时再按查。6. 把代码跑起来本地预览与问题排查写代码只是第一步真正让页面“活”起来要看它在浏览器里能不能正常渲染、正常交互。这一节我们聊聊“本地预览”和“遇坑排错”内容不多但极其关键。6.1 双击打开和Live Server的区别前面说过直接双击HTML文件就能在浏览器打开但这样有个坑无法绕过当你后续在HTML里用相对路径请求外部资源比如CSS、图片、接口数据时有些浏览器对file://协议有限制导致样式加载不出来或者接口调用跨域报错。专业做法是用一个本地开发服务器。VS Code装了Live Server插件后在HTML文件上右键选择“Open with Live Server”它会起一个本地服务默认端口5500同时自动打开浏览器。此后每次你保存代码页面都会自动刷新这种“即时反馈”对学习特别重要。6.2 页面打不开按这个顺序排查如果你照着上面步骤做发现页面异常先别慌按下面顺序检查文件扩展名真的是.html吗Windows默认隐藏扩展名很可能你保存的是index.html.txt双击打开成了文本文件。解决在文件资源管理器里勾选“显示文件扩展名”确认后缀是.html。CSS文件真的被引入了吗打开开发者工具F12切到“网络”标签刷新页面看style.css请求是不是返回404。如果是检查HTML里的href路径和实际文件路径是否一致。标签闭合了吗很多渲染异常是因为标签没闭合导致的。VS Code里如果标签高亮不对或者代码有红色波浪线就说明结构有问题。浏览器缓存了吗改完CSS但页面没变化极可能是缓存。按Ctrl F5强制刷新或者用Live Server它会在文件变化时自动通知浏览器刷新。6.3 浏览器开发者工具排查利器遇到样式不对最常用的操作是右键元素 → 检查。在开发者工具的“元素”标签里你能看到真正的DOM结构以及每个元素被哪些CSS规则命中“样式”子标签甚至能临时修改样式看效果。这个工具还有两个标签很重要“控制台”显示JavaScript报错和网络请求错误“网络”显示所有资源的加载情况。前端调试的日常基本就是在这三个标签里来回切换。学会用开发者工具比背一百个CSS属性都有用。6.4 常见问题速查表现象可能原因解决办法中文乱码meta charsetUTF-8缺失或位置不对在head最前面加上这一行背景色不生效CSS文件未引入或选择器没匹配检查link路径检查类名拼写图片不显示src路径不对或文件名大小写不匹配确认相对路径确认图片确实在对应目录水平居中无效text-align: center用在块元素上而不是文字上块级元素用margin: 0 auto文字用text-align: center刷新后样式没变化浏览器缓存Ctrl F5强制刷新或启动Live Server移动端字太大/布局挤缺少viewport视口设置在head加meta nameviewport contentwidthdevice-width, initial-scale1.0页面顶部有空白body默认margin设置body { margin: 0; }7. 新手到进阶的过渡写完第一个网页之后写完了第一个网页你可能会兴奋也可能觉得“就这”。不管哪种感觉都说明你已经踏上了正轨。接下来几天我建议你做三件事性价比极高第一改造自己的第一个网页。把今天学到的标签和样式揉进去做一个“自我简介”页面内容可以是你的名字、你的爱好、你的目标甚至放一张你喜欢的图片。页面不用复杂但尽量保证结构清晰、样式统一。输出真实内容会比照着教程敲代码更有动力。第二看别人的网页是怎么写的。在浏览器里打开你喜欢的网站按Ctrl U查看网页源代码。不用全部看懂就看标签结构它的header在哪nav怎么写的footer里有什么你会发现再复杂的网站也是用你学的这些基础标签拼出来的。看源码是成本最低的学习方式。第三学一点Git版本管理。不需要深只需要安装Git把项目文件夹初始化成一个仓库每次改完代码提交一次。这不会立刻带来什么好处但你以后做复杂项目时回头看每一次提交记录会感激当年的这个决定。这时候也可以适当地接触一下现成的UI框架如Bootstrap和预编译工具但一定要记住框架是放大器不是替代品。基础扎实的人用框架如虎添翼基础薄弱的人用框架只会写出自己看不懂的“咒语”。我自己带过不少新人凡是第一个网页就靠复制粘贴生成工具的后面补起基础来都特别费劲凡是把每个标签都认真敲过一遍、每个问题都自己排查过的后面学JavaScript、学框架时整个知识体系都能立得住。写第一个网页最大的意义不是做出来一个多好看的页面而是你亲手完成了一次“从文本到可视化”的完整闭环——这个过程带给你的“原来如此”感能支撑你走很远。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

QS2024排名数据分析:Pandas清洗与Plotly可视化实战 2026/9/15 3:38:31

QS2024排名数据分析:Pandas清洗与Plotly可视化实战

简介:面向学生、教育研究者与职场人士,这份数据分析案例以2024年QS世界大学排名为核心题材,提供完整的CSV数据集与可运行代码,解决高校排名数据“怎么看、怎么用”的问题,适合数据分析入门者结合真实教育场景练习可视化…

阅读更多 →
AlleCompanion:电商购物车实时推荐系统架构解析 2026/9/15 3:38:31

AlleCompanion:电商购物车实时推荐系统架构解析

1. 项目概述:这不是一个EDA工具升级,而是一次电商推荐系统的底层重构看到标题里那个“Allegro”第一反应是Cadence的PCB设计软件——毕竟满屏的“allegro导出dxf”“allegro如何导入网表”“allegro转AD提示not recognized”全是硬件工程师深夜抓狂的关键…

阅读更多 →
从收藏夹到自动生长的知识网:用Codex构建LLM Wiki完整指南 2026/9/15 3:38:31

从收藏夹到自动生长的知识网:用Codex构建LLM Wiki完整指南

在信息爆炸的今天,我收藏夹里的文章已经超过一千篇,但真正能被我想起来、用上的,可能不到十分之一。直到我看了 Andrej Karpathy 关于 LLM Wiki 的一系列分享,才突然意识到问题不在“收藏量不够”,而在“收藏之后没有人…

阅读更多 →
RS485与Modbus实战:物理层接线、协议解析与现场排障 2026/9/15 3:38:31

RS485与Modbus实战:物理层接线、协议解析与现场排障

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Java+Python+HTML前后端配合全攻略:零基础毕设也能跑通 2026/9/15 3:38:31

Java+Python+HTML前后端配合全攻略:零基础毕设也能跑通

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
MACD指标详解:原理、应用与实战技巧 2026/9/15 3:35:31

MACD指标详解:原理、应用与实战技巧

1. MACD指标概述MACD(Moving Average Convergence Divergence)即指数平滑异同移动平均线,是由Gerald Appel在1970年代提出的技术分析工具。这个指标通过计算不同周期的指数移动平均线(EMA)之间的差值,来研判…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞