当前位置:首页 > 焦点

html是网页吗

html不是网页网页。它是网页一份说明书,一份告诉浏览器“该怎么摆”的网页施工图纸。你看到的网页那些花花绿绿的页面,是网页浏览器照着这份图纸现搭出来的。

拿个最常见的网页例子说。你打开一个新闻网站,网页标题大、网页正文小,网页图片嵌在文字中间,网页旁边还有广告栏。网页这些位置不是网页凭空来的——HTML里用一堆标签把内容框起来,<h1>表示“这是网页大标题”,<p>表示“这是网页正文段落”,<img>指个图片地址。网页浏览器拿到这些标签,就知道该把字放大还是缩小,图片放哪个角落。没有这堆标签,文字就全糊成一坨,像没分段的聊天记录。

但你要是把网页文件直接拖进记事本,看到的全是尖括号和英文单词,连一张图片都没有。所以html本身是死的,它只是文本。真正让你觉得“这是个网页”的,是浏览器这个翻译官。它读html,再调取CSS(管颜色和排版的)、JavaScript(管交互和动画的),最后渲染出你眼前那个能点、能滑、能播放视频的东西。

我试过把一段html代码保存成纯文本,后缀改成.txt,双击打开,满屏都是标签符号,丑得没法看。同样的内容,后缀改成.html,浏览器一开,立刻变成带格式的漂亮页面。同一个文件,换了个“解释器”,呈现出的东西天差地别。这跟乐高积木一个道理——散落的零件不是城堡,按图纸拼起来才是。

有人会较真:那浏览器里显示出来的那个页面,算不算html?严格说,那是DOM——文档对象模型,是浏览器把html解析之后生成的一个活结构。html只是源头,是静态的那串字符。你右键点“查看网页源代码”,看到的才是html本体。而你平时右键“检查”出来的那个面板,里面的元素是活的,能改能删,那叫DOM。俩东西长得像,但不是一回事。

说个反常识的:有些网页根本没有html。比如你用JavaScript动态生成内容,往页面里塞各种元素,这时候浏览器地址栏里那个页面,它的原始html可能只有一行空壳子。但你能说那不是网页吗?它明明能交互、能展示数据。所以网页是个结果,html只是其中一种原材料。

回到开头那句话——html是图纸,不是房子。你问“html是网页吗”,就像问“钢筋是楼房吗”。钢筋能撑起楼,但没人住在一堆钢筋里。同样,html能构建网页,但你上网时看的、点的、玩的那个活物,是浏览器基于html造出来的。真要较真,html和网页的关系,比图纸和房子的关系还远一层——因为图纸至少还是纸质的,html连纸都不是,它只是电脑里的一串0和1。

分享到: