HTML网页和结构

HTML网页是利用HTML语言编写的文档,是一种半结构化的数据表现方式,结构特征可以归纳为三种:树状结构,层次结构和框结构。

网页构成

目前市面上大多数的网页为动态网页,在这样的动态网页中,JavaScript代码用来控制网页内部的逻辑,CSS用来描述网页的显示信息。JavaScript是一种解释型的脚本语言,主要目的是控制用户端逻辑,同用户交互,本身可以修改HTML元素及其内容,CSS是一种样式表语言,用来描述元素的显示信息,html元素组成一个树状结构,在webkit中会被构建成一个DOM树。

网页结构
  • 框结构:用来对网页的布局进行分割,将网页分成几个框,在html中”frameset”,”frame”,”iframe”可以用来在当前网页中嵌入新的框结构,在框中还可以在嵌入框。
    多框结构网页
  • 层次结构:网页文档的层次结构,根层在后,子层在前,对于需要复杂变换和处理的元素创建新层,webkit创建新层主要目的是为了渲染引擎在处理上的方便和高效。
    网页的层次结构
渲染过程

渲染过程主要分成三个阶段,第一个阶段从网页的URL到构建完DOM树,第二阶段从DOM树到构建完webkit的绘图上下文,第三个阶段从绘图上下文到生成最终的图像。
第一阶段:
URL->DOM树
① webkit调用资源加载器加载URL对应的网页;
② 加载器依赖网络模块发送请求并接收回复;
③ webkit接收网页或资源的数据,获取的方式又分为同步和异步;
④ 网页交给HTML解释器转变成一系列的词语(Token);
⑤ 解释器根据词语构建成节点(Node),形成DOM树;
⑥ 若节点是JavaScript的话要调用JavaScript引擎解释并执行;
⑦ JavaScript代码可能会修改DOM树的结构;
⑧ 若节点需要依赖其他资源,如图片、CSS、视频等,调用资源加载器来加载它们,此操作为异步,不会阻碍当前DOM树的继续创建;若是JavaScript资源URL(未标记为异步方式),需要停止当前DOM树的创建,直到JavaScript资源加载并被JavaScript引擎执行完后才继续DOM树的创建;

第二阶段:
webkit利用CSS和DOM树构建RenderObject树直到绘图上下文。
CSS&DOM树到绘图上下文
1 CSS 文件被CSS解释器解释成内部表示结构;
2 CSS解释器工作完之后在DOM树上附加解释后的样式信息,构成RenderObject树;
3 创建RenderObject节点的同时,webkit根据网页的层次结构创建RenderLayer树,同时构建一个虚拟的绘图上下文;
注:RenderObject树的建立不表示DOM树会被销毁,实际上上图的四个内部表示结构一直存在,直至网页销毁,它们对网页的渲染有很大的作用

第三阶段:
根据绘图上下文生成最终的图像,这一过程依赖2D和3D图形库。
绘图上下文->最终图像
① 绘图上下文是一个与平台无关的抽象类,会将每个绘图操作桥接到不同的具体实现类(绘图具体实现类);
② 绘图实现类可能简单也可能复杂,chromium中需要chromium合成器来完成多进程和GPU加速机制;
③ 绘图实现类将2D/3D图形库绘制结果保存,交给游览器显示;

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML网页框架结构通常由以下几个部分组成: 1. DOCTYPE声明:用于声明HTML文档类型,告诉浏览器如何解析文档。 2. HTML标签:用于定义HTML文档的根元素,包含<head>和<body>两个子标签。 3. head标签:用于定义文档的头部,包含了一些元数据,如文档标题、字符集、样式表等。 4. body标签:用于定义文档的主体部分,包含了所有要显示在页面上的内容,如文本、图片、链接等。 5. 标题标签:用于定义文档的标题,显示在浏览器的标题栏上。 6. 段落标签:用于定义文本段落,通常用于显示文章内容。 7. 链接标签:用于定义超链接,可以链接到其他网页、图片、音频、视频等资源。 8. 图像标签:用于定义图像,可以在页面上显示图片。 9. 表格标签:用于定义表格,可以在页面上显示数据。 10. 表单标签:用于定义表单,可以用于用户输入数据并提交到服务器。 下面是一个HTML网页框架结构的示例: ```html <!DOCTYPE html> <html> <head> <title>网页标题</title> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <h1>网页标题</h1> <p>这是一个段落。</p> <a href="http://www.example.com">链接到示例网站</a> <img src="example.jpg" alt="示例图片"> <table> <tr> <th>表头1</th> <th>表头2</th> </tr> <tr> <td>数据1</td> <td>数据2</td> </tr> </table> <form action="submit.php" method="post"> <label for="username">用户名:</label> <input type="text" id="username" name="username"><br> <label for="password">密码:</label> <input type="password" id="password" name="password"><br> <input type="submit" value="提交"> </form> </body> </html> ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值