触手生春【4.14】CSS与HTML结构

作者:ximicc 来源:ximicc博客 时间:2008-12-09 18:10:00 

前面已经提到,CSS之所以如此强大,是因为它采用HTML文档结构来决定其样式的应用。但这仅仅只是一方面,因为它只暗示了CSS之所以使用文档结构,仅仅是为了决定将不同的规则应用于不同的元素这一点。

事实上文档的结构往样式的应用中扮演着更为重要的角色。为了理解这一角色我们需要理解文档是怎样结构化的。对于下面列举的这个简单的HTML文档,如图显示了其对应的"树型视图":

CSS的大部分能力都是基于元素的父子关系。HTML文档,实际上大多数结构文档,都是基于元素的层次关系的,这种层次可以用下图的树形结构来刻画。在这样的层次图中,每个元素都处于整个结构文档中的某个位置,而且每个元素或是另一个元素的父元素,或是子元素,或者既是父元素又是子元素。

一个元素包含了另一个元素,那么这个元素就是另一个元素的父元素。例如在上图中,P元素是EM和STRONG元素的父元素,而STRONG是另一个定位锚(A)元素的父元素,这个定位锚元素又是另一个EM元素的父元素。相反地,一个元素被另一个元素所包含,那么它就是子元素。这样,图中的链接元素就是STRONG元素的子元素,STRONG又是段落元素的子元素,依次类推。

父和子的术语常常被一般化为祖先和后代这两个术语。但也有区别:在树形图中,如果一个元素刚好处于另一个元素的上面一层,那么它们就是父子关系。当然,子元素也是一个后代,父元素也是一个祖先。但是,如果从一个元素到另一个元素的路径上跨越了两个或更多层次,那么它们就具有祖先-后代关系。上图中,第一个UL元素是两个LI元素的父元素,但它也是第二个UL元素下所有元素的祖先元素,一直到最深一层的LI元素。

继续观察树型结构,可以看到定位锚元素是STRONG的子元素,同时也是段落元素的后代,还是BODY和HTML元素的后代。BODY元素是所有浏览器能显示的元素的祖先,当然HTML元素是所有元素的祖先。基于这个原因,HTML元素也被称为根元素。

标签:触手生春,css,html,结构
0
投稿

猜你喜欢

  • python dataframe astype 字段类型转换方法

    2022-02-19 07:58:50
  • SQL Server中row_number分页查询的用法详解

    2024-01-21 20:15:01
  • 基python实现多线程网页爬虫

    2023-10-30 00:58:48
  • Python无法用requests获取网页源码的解决方法

    2023-04-24 07:38:04
  • dubbo中zookeeper请求超时问题:mybatis+spring连接mysql8.0.15的配置

    2024-01-13 21:40:23
  • 详解微信小程序「渲染层网络层错误」的解决方法

    2024-04-22 13:01:23
  • Python入门教程(七)Python数字类型

    2022-05-29 22:40:00
  • Ubuntu下设置mysql自动备份

    2010-10-25 20:25:00
  • XML教程 WEB页面工具语言XML的定义

    2008-05-29 10:54:00
  • Oracle 数据表分区的策略

    2010-07-21 13:30:00
  • 玩转python爬虫之URLError异常处理

    2021-03-22 07:36:34
  • pytest中配置文件pytest.ini使用

    2021-01-22 17:04:02
  • CentOS 6/7环境下通过yum安装php7的方法

    2023-11-23 11:08:02
  • antd项目实现彩蛋效果的详细代码

    2023-09-14 12:51:20
  • 详解python使用canvas实现移动并绑定键盘

    2022-08-18 01:02:52
  • windows+vscode安装paddleOCR运行环境的步骤

    2021-05-09 06:12:26
  • 分组字符合并SQL语句 按某字段合并字符串之一(简单合并)

    2024-01-24 11:30:20
  • SQLSERVER 创建索引实现代码

    2012-04-13 12:17:05
  • 使用ACCESS做网络版程序的四种解决方案

    2009-01-14 16:22:00
  • Python实现动态给类和对象添加属性和方法操作示例

    2022-05-22 10:58:36
  • asp之家 网络编程 m.aspxhome.com