打开浏览器,静态右键查看任意一个网页的网页源代码,你看到的源代那些尖括号包裹的文本,就是静态HTML。它不神秘,网页甚至有点笨拙——没有逻辑判断,源代没有循环计算,静态只负责告诉浏览器:这一段是网页标题,那一块是源代段落,角落里放张图片。静态
我最早接触HTML是网页2003年,用记事本敲下第一行``,源代保存成`.html`文件,静态双击打开,网页浏览器里跳出一行黑字。源代那种“我让电脑听懂了”的感觉,现在用框架的人很少能体会到了。
HTML的全称是超文本标记语言。关键词是“标记”,不是“编程”。它用标签给内容贴分类签:`
`是段落,`
`就知道该另起一段,读到``就去加载图片。没有条件判断,没有函数调用,错了也不报错,页面照常渲染,只是样子不对。
这种“容错”设计是HTML能活到今天的原因之一。你少写一个闭合标签,浏览器自己猜。你嵌套写乱了,它帮你修。早期网页开发者靠这个特性活了下来——那时候没有开发者工具,没有实时预览,全靠刷新和肉眼排查。
所谓静态网页,就是服务器把HTML文件原样发给浏览器,不做任何加工。文件里写什么,用户就看到什么。没有数据库查询,没有用户登录状态,没有个性化推荐。一个`index.html`加一个`style.css`,再加一个`script.js`,就是一个完整的静态站点。GitHub Pages上托管的大部分个人博客、项目文档、简历页,都是这种结构。
我去年帮朋友做一个摄影作品集,总共就三个文件:`index.html`放照片和文字,`style.css`调间距和配色,`script.js`处理点击放大。部署到Netlify,拖拽文件夹,三秒上线。没有构建步骤,没有依赖安装,改完直接刷新。这种直接感,用React写个同样功能要装两百兆的`node_modules`,跑一堆配置,最后打包出来的还是HTML、CSS和JS。
现在写HTML的人越来越少,多数是框架自动生成。但手写有手写的好处。你知道每个标签为什么在那里,知道`
`在屏幕阅读器里读出来完全不同。这些细节在框架抽象层里被抹平了,出问题时你只能一层层往下查。
我习惯用VS Code的Emmet插件,敲`!`加Tab,骨架瞬间生成。然后往`
`里填内容,`h1`写主标题,`p`写正文,`img`加`alt`属性——这个属性很多人忽略,但图片加载失败时,那行文字就是唯一的线索。``标签的`href`我从来不用`#`占位,要么写真实链接,要么用`