刚入行那阵子,谁没干过“Ctrl+C/Ctrl+V”的勾当?真香。教程里直接扒,论坛里搜“下拉菜单怎么搞”,样式不兼容?塞个 hack 硬顶。页面能亮,就算交卷。半天憋出个能看的页面,爽。可别得意。过了一个月,需求一改,排版直接散架。换个浏览器,盒子全飞。让你搞搞无障碍或者 SEO?对着满屏的 div,干瞪眼。我当年也干过。赶活动页,<div> 套了十八层。上线那天,产品经理随口一句“移动端也得适配”,我直接原地去世。抄来的代码,说白了就是租的房子。住得挺舒服,一碰墙,就知道不是自己的。
到底图啥?照葫芦画瓢,网页照样跑不利索。《HTML与XHTML权威指南》里说得挺透。光靠模仿,顶多搭个空架子。真想把活儿干漂亮,得啃底层语法和语义规范。书里不藏着掖着。大伙儿入门靠示例,看着轻松,抄着抄着,手就生了锈。坏习惯全出来了。标签到底啥样?管什么用?跟别的标签怎么咬合?摸不清这些,你写的根本不是网页。就是一堆随便往浏览器里扔的零件。这书实在。没整虚头巴脑的理论。拿放大镜照你的代码习惯。扎心。但管用。
听着拧巴?谁入门不靠抄?书里没把示例一棍子打死。厚厚一本,从基础手册到复杂案例,模板塞得满满当当。它敲打的是另一回事。示例是考卷。规范才是解题步骤。HTML 和 XHTML 不是随便敲的字母。人家是一套讲规矩的方言。<p> 硬撑换行?<table> 拿来排页面?表单里 <label> 和 <input> 不绑死?光盯着页面长啥样,不管它嘴里念叨啥。代码早断了气。浏览器能跑你那堆烂代码,纯粹是脾气好。容错机制替你兜底。兜底的网,随时会收紧。换个手机,换个系统,照样露馅。说句实在话,浏览器的宽容度一直在降。拿 <br> 代 <p>,用 <div> 搞列表,控制台早飘红警告了。兜不住的日子,快到了。
这毛病,早就渗进不少项目里了。前阵子扒了个三年前的老代码。套娃式嵌套标签,堆了上百层。渲染引擎直接卡成 PPT。业务真不复杂。是冗余代码把性能榨干了。模仿能帮你推开门。门后能不能住人,看规范牢不牢。书里掰开揉碎讲样式表控制、表格骨架、表单交互,怎么跟不同浏览器打交道。图啥?图你懂一个死理:网页不是给现在这台电脑看的。是给未来刷它的人看的。给各种手机看的。给屏幕阅读器看的。道理老生常谈。真等到迁移项目、做无障碍适配那天,你就懂了。平时省下的那两分钟,最后都得花两天填坑。
话也得说回来。把规范供上神坛?不现实。赶一次性落地页,或者配置拉胯的机器跑 Demo,死磕标准,显得轴。早年搞开发的,伺候老掉牙的 IE,哪少得了放弃 XHTML 规范、打补丁保显示的日子?技术这玩意儿,从来不是非黑即白。立规矩,是为了沟通不费劲,后期好接手。不是来卡脖子搞学习的。书里塞了那么多快速参考卡片、过渡方案。摊牌了:规范是手里的扳手。不是捆你的绳子。心里清楚踩了哪条线,图什么省事,事后补什么坑。那叫灵活。稀里糊涂乱写,纯纯瞎搞。规矩得看场合。长期维护的系统,按规矩来。今晚就要交差?先跑通,再优化。不犯法。
最要命的呢?“先凑合用”熬成了“长期饭票”。排版?div 套 div,加绝对定位。调间距?敲空格。碰 bug?懒得查文档。直接去 GitHub 或 Stack Overflow 捞一段能跑的顶上。日子一长,看规范文档跟看天书似的。复杂逻辑懒得拆。只想找捷径。门槛肉眼可见地低了。想往上走?护城河越挖越深。说实话,AI 写代码都快赶上老鸟了。还停留在“捞代码拼积木”?初级岗位的门槛,你都摸不着。话扎心。现实这样。
说到底,学技术不是背写法。脑子里得有一杆秤。模仿指个门在哪。规范告诉你门后啥光景。哪天你不死盯 demo 照搬了。看着内容,自己琢磨挑哪个标签,怎么搭骨架,样式往哪儿收。才算摸到门道。能跑起来?刚拿到入场券。扛得住折腾。能反复利用。放那儿几年不落灰。那才是底气。别总想走捷径。路子走稳了,后面反而快。
下回刷到“完美示例”,先把手从 Ctrl+C 上挪开。拆开瞅瞅骨架。琢磨作者为啥这么排。平时懒得看的标签语义,答案全在那儿。别急着复制。先问自己一句:这玩意儿,能经得起时间折腾吗?