我的小树林
如果有非技术人员问你HTML5是什么你会怎么回答新的HTML规范。。。给浏览器提供了牛逼能力干以前不能干的事。。。确切地说应该是给浏览器规定了许多新的接口标准要求浏览器实现牛逼的功能。。。 这里感谢红枫一叶给浏览器暴露了许多新的接口。。。加了很多新的效果。。。问的人其实并不明白他想问的真正问题回答的人貌似明白但又好像少了点什么。牛逼的能力、新的接口、炫酷的效果首先回答的人自己就是晕晕乎乎。什么是HTML、什么是CSS、什么是DOM、什么是JavaScript大部分的前端开发每天都在用这些但很少会有人去思考一下他们之间的关系。首先HTML的全称是超文本标记语言是一种标记形式的计算机语言。将这种标记语言给专门的解析器就能够解析出一定的界面效果。浏览器就是专门解析这种标记语言的解析器。我们说他最终的效果是在屏幕上展示出特定的界面那么浏览器肯定要把一个个的标记转换成内部的一种数据结构这种数据结构便是DOM元素。比如一个a标签在浏览器内部的世界中就是一个HTMLAnchorElement类型的一个实例。一个HTML文件就好比用超文本标记语言写的一篇文章文章通常是有结构的在浏览器眼里它就是DOM。DOM描述了一系列层次化的节点树。但这时候的DOM还是存在于浏览器内部是C语言编写的随着历史的发展当人们不在满足简单的显示文本对于某些文本需要特殊强调或者给添加特殊格式的需求慢慢的冒了出来。面对人们需要控制显示效果的需求最先想到的也最简单的方式就是加标记。加一些样式控制的标记。这时候就出现了像font、center这种样式控制的标记。但是这样一来所有的标记就会分为两大类一种是说我是什么一种是说我怎么显示。这还不是大问题标记简单但是浏览器要解析标记可就不那么简单了。想一想这样干的话DOM也就要分成两大类一类属于描述元素的DOM节点一类属于描述显示效果的DOM节点。一个DOM节点可能代表一个元素也可能是代表一种显示效果。怎么看都觉得别扭呀。最后人们决定废弃样式标签给元素标签添加一个style特性style特性控制元素的样式最初的样式声明语法肯定很简单。原来的样式标签的特性现在变成了样式特性的语法样式标记变成了样式特性。这样逻辑上就清晰多了。那么问题来了一篇文章如果修辞过多必然会引起读者的反感。如果把元素和显示效果都放在一个文件中必然不利于阅读。如果有10个元素都需要一个效果是不是要把一个style重复写十遍呢父元素的设置效果对子元素有没有影响让不让拼爹。。。。。。。。。类似的问题肯定有很多所以出来了CSS层叠样式表带来了css规则、css选择器、css声明、css属性等这样以来就解决了以上痛点。标记语言这层解决了但是浏览器就不能干坐着玩耍了必然得提供支持。所以浏览器来解析一个静态html文件时遍历整个html文档生成DOM树当所有样式资源加载完毕后浏览器开始构建呈现树。呈现树就是根据一系列css声明经历了层叠之后来确定一个个个DOM元素应该怎么绘制。这时候其实页面上还没有显示任何界面渲染树也是浏览器内存里面的一种数据结构。渲染树完成之后开始进行布局这就好比已经知道一个矩形的宽高现在要在画布量一量该画在哪具体占多大地方。这个过程完了之后就是绘制的过程然后我们便有了我们看到的显示界面了。给标记加点效果的问题解决了历史的车轮又开始前进了。慢慢的人们不再满足简单的显示效果人们希望来点交互。那个时候写HTML的大部分并不懂软件开发开玩笑嘛我一写活动页的你让我用CC干这事的确是高射炮打蚊子——大材小用。那正规军不屑干的事就交给游击队吧这时候网景公司开发出了JavaScript语言那时候的JavaScript根本没有现在这么火一土鳖脚本语言哪像现在这么牛逼哄哄统一宇宙。JavaScript本是运行在浏览器的语言HTML文本是静态的不可能让JavaScript修改静态文件但可以跟浏览器内部打交道。可是这个时候的DOM并不是今天的DOM他们是C对象要么把JavaScript转换成C指令操作这些C对象要么把这些C对象包装成JavaScript原生对象。历史选择了后者这时候也就标志着现代DOM的正式诞生。不过历史有时候会出现倒退历史上总会出现几个奇葩比如IEIE奇葩他全家包括Edge马克思是个江湖骗子但恩格斯是个好同志。自然辩证法与历史唯物主义是好东西。从历史的角度我们可以看到。CSS、DOM、JavaScript的出现于发展最终的源头都在HTML超文本标记语言。人们对web的需求最终都汇集在HTML上。所以只要历史产生新的需求最终的变化都首先发生在HTML规范上。当交互性不能在满足人们需求时web迎来了新的需求webapp。要迎合新的需求首先要改变的就是HTML规范这个时候已有的HTML4.0已经无法满足人们日益增长的需求所以HTML5迎着历史的需求经过八年的艰苦努力终于在2014年正式定稿HTML5肯定是要加入新标签然对于传统HTML而言HTML5算是一个叛逆。所有之前的版本对于JavaScript接口的描述都不过三言两语主要篇幅都用于定义标记与JavaScript相关内容一概交由DOM规范去定义。而HTML5规范则围绕着如何使用新增标记定义了大量JavaScri

相关新闻

如何用SkillBridge实现Python与Cadence Virtuoso的无缝跨语言集成

如何用SkillBridge实现Python与Cadence Virtuoso的无缝跨语言集成

如何用SkillBridge实现Python与Cadence Virtuoso的无缝跨语言集成 【免费下载链接】skillbridge A seamless python to Cadence Virtuoso Skill interface 项目地址: https://gitcode.com/gh_mirrors/sk/skillbridge SkillBridge是一款专为电子设计自动化(ED…

2026/7/3 0:13:42阅读更多 →
【ChatGPT批量任务处理终极指南】:20年AI工程实战总结的7种高并发、低错误率自动化方案

【ChatGPT批量任务处理终极指南】:20年AI工程实战总结的7种高并发、低错误率自动化方案

更多请点击: https://kaifayun.com 第一章:ChatGPT批量任务处理的核心挑战与设计哲学 在企业级AI应用中,将ChatGPT接入批量任务流水线(如日志分析、多文档摘要、客服工单分类)时,高频并发调用常触发API限流…

2026/7/3 0:13:42阅读更多 →
97.纯 ST 语言实现!S7-1200 电机正反转完整工程(带故障记忆)

97.纯 ST 语言实现!S7-1200 电机正反转完整工程(带故障记忆)

摘要 可编程逻辑控制器(PLC)是工业自动化领域的核心控制设备,广泛应用于流水线控制、过程控制、运动控制等场景。本文从PLC的硬件架构与扫描周期原理出发,以IEC 61131-3标准中的结构化文本(ST)语言为载体,系统讲解PLC编程的核心逻辑。文章提供一套完整的电机正反转控制…

2026/7/3 0:08:41阅读更多 →
升级纯血鸿蒙后,小艺Agent和伴随式AI能做什么?

升级纯血鸿蒙后,小艺Agent和伴随式AI能做什么?

升级纯血鸿蒙后,最直观的智能化变化来自小艺。它从"能听话"的语音助手,变成了"会办事"的系统级Agent;在大阔折华为Pura X Max上,它还能化身屏幕边上的伴随式AI,看文章、管日程、看球赛&#xff0c…

2026/7/3 1:18:46阅读更多 →
分布式系统的日志监控

分布式系统的日志监控

服务端日志你有多重视? 我们没有日志有日志,但基本不去控制需要输出的内容经常微调日志,只输出我们想看和有用的经常监控日志,一方面帮助日志微调,一方面及早发现程序的问题 只做到第1点的,你可以洗洗去睡…

2026/7/3 1:18:46阅读更多 →
PVsyst 8.1.4-光伏系统设计和仿真软件

PVsyst 8.1.4-光伏系统设计和仿真软件

PVsyst 版本 8 对我们的软件功能进行了重大改进,这体现了PVsyst 对光伏项目开发和模拟的持续承诺。定义您的项目 系统设计:快速设计并网、独立或抽水式光伏系统。该程序会指导您选择合适的组件,以确定项目规模。 系统容量规划:可视…

2026/7/3 1:18:46阅读更多 →
Codex++ 接入 DeepSeek API 完全指南:从安装到实战

Codex++ 接入 DeepSeek API 完全指南:从安装到实战

内容摘要:大家好,我是码农刚子。本文介绍通过 Codex 将 DeepSeek API 接入 Codex 桌面端 AI 编程助手。Codex 为开源增强启动器,不修改原文件,支持第三方模型。内容涵盖环境要求、安装配置、申请 API Key 及启动验证,可…

2026/7/3 1:18:46阅读更多 →
JMeter跨界UI自动化:统一测试工具链的实战方案

JMeter跨界UI自动化:统一测试工具链的实战方案

1. 项目概述:当性能测试工具跨界UI自动化提到JMeter,绝大多数测试工程师的第一反应就是“性能测试工具”。确实,作为Apache旗下的开源项目,JMeter凭借其强大的并发模拟、灵活的协议支持和丰富的报告功能,在接口压测、负…

2026/7/3 1:18:46阅读更多 →
三步快速导出:GetQzonehistory帮你永久保存QQ空间青春记忆终极指南

三步快速导出:GetQzonehistory帮你永久保存QQ空间青春记忆终极指南

三步快速导出:GetQzonehistory帮你永久保存QQ空间青春记忆终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾经想要找回多年前在QQ空间发布的那些珍贵说说&am…

2026/7/3 1:13:46阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/2 12:10:34阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/2 12:10:34阅读更多 →
LV3296与PIC18F45K22的UART通信与USB扩展方案

LV3296与PIC18F45K22的UART通信与USB扩展方案

1. LV3296与PIC18F45K22的硬件搭档解析在嵌入式数据采集系统中,LV3296条形码扫描模块与PIC18F45K22微控制器的组合堪称经典搭配。LV3296作为一款工业级条码扫描头,其核心是一颗高性能CMOS图像传感器,配合专用解码芯片,能自动识别包…

2026/7/3 0:03:41阅读更多 →
AI初创生存指南:6个月完成可信度验证闭环

AI初创生存指南:6个月完成可信度验证闭环

1. 这不是“逆袭指南”,而是一份AI初创公司真实生存手记“How To Beat Odds As an AI Startup?”——这个标题乍看像一句热血口号,但在我带过7个从0到1的AI产品团队、亲手踩过融资失败、技术债崩盘、客户POC卡在最后一公里等23类典型坑之后,…

2026/7/3 0:03:41阅读更多 →
多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

多模态+推理链+RAG 2.0+智能体:工业级AI系统落地四支柱

1. 这不是又一篇“AI趋势速览”,而是一份实操者手记:当多模态、推理链、检索增强与智能体协作真正撞进工程现场“LAI #73”这个编号本身就像一个暗号——它不属于某家大厂的白皮书,也不是学术会议的议程表,而是长期泡在模型训练集…

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

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

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

2026/7/3 1:12:46阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

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

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

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

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

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

2026/7/2 1:50:13阅读更多 →