深入学习CSS匹配原理

本文和大家重点讨论一下CSS匹配原理的概念,浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找的,浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。

创新互联自2013年起,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元尼河口做网站,已为上家服务,为尼河口各地企业和个人服务,联系电话:13518219792

CSS匹配原理

用了这么多年的CSS,现在才明白CSS的真正匹配原理,不知道你是否也跟我一样?看1个简单的CSS:

viewsourceprint?

 
 
 
  1. 1DIV#divBoxpspan.red{color:red;}

按习惯我们对这个CSS的理解是,浏览器先查找id为divBox的DIV元素,当找到后,再找其下的所有p元素,然后再查找所有span元素,当发现有span的class为red的时候,就应用该style。多么简单易懂的原理,可是这个理解却是完完全全相反、错误的。

浏览器CSS匹配不是从左到右进行查找,而是从右到左进行查找。比如之前说的DIV#divBoxpspan.red{color:red;},浏览器的查找顺序如下:

先查找html中所有class='red'的span元素,找到后,再查找其父辈元素中是否有p元素,再判断p的父元素中是否有id为divBox的div元素,如果都存在则匹配上。

浏览器从右到左进行查找的好处是为了尽早过滤掉一些无关的样式规则和元素。比如如下html和css:

viewsourceprint?

 
 
 
  1. 01