最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose

来源:懂视网 责编:小采 时间:2020-11-27 16:05:11
文档

CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose

CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose:上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成 了xml格式,否则的话就是一堆杂乱无章的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElemen
推荐度:
导读CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose:上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成 了xml格式,否则的话就是一堆杂乱无章的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElemen

  上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成

了xml格式,否则的话就是一堆“杂乱无章”的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElementById,所以当浏览器解析成dom

结构后,浏览器才会很方便的根据css各种规则的选择器在dom结构中找到相应的位置,那下一个问题自然就严重了,那就是必须深入的理解dom模型。

一:理解Dom模型

首先我们看下面的代码。

 1 2  3  4  5  6  7  8 

有名的公司一栏

9
10 11
  • 百度
  • 12
  • 新浪
  • 13
  • 阿里
  • 14 15 16

    用这个代码我们很容易的画出dom树。

    当你看到这个dom树的时候,是不是顿时感到信息量特别大,很简单,因为是树,所以就具有了一些树的特性,比如 “孩子节点”,“父亲节点”,

    “兄弟节点”,“第一个左孩子”,“最后一个左孩子”等等,对应着后续我要说的各种情况,一起来看看html被脱了个精光的感觉是不是很爽~~~~

    1:孩子节点

       找孩子节点,本质上来说分两种,真的只找“孩子节点”,“找到所有孩子(包括子孙)“

    <1> 后代选择器

    首先看下面的html,我想你可以轻而易举的绘制出dom树了,那下面的问题就是怎么将body中所有的后代span都绘上red。

     1 2  3  4  5  6 11 12 13 我是span114 15 
  • 16 我是span217
  • 18 19 20

    2. 孩子选择器

    <1> ">"玩法

      这个也是我说的第二种情况,真的只找孩子节点,在css中也很简单,用 > 号就可以了,是不是很有意思,跟jquery一样的玩法,对不对。

     1  2  3  4  5 10 11 12 我是span113 14 
  • 15 我是span216
  • 17 18 19

    <2> ”伪选择器”玩法

    除了上面这种玩法,在css3中还可以使用”伪选择器"玩法,真tmd的强大,下一篇会专门来讲解,这里只介绍一个:nth-child用法,如果

    你玩过jquery,一切都不是问题。

     1 2  3  4  5  6 11 12 13 我是span114 我是span215 16 
  • 17 我是span318
  • 19 20 21

    3. 兄弟节点

    兄弟节点也是很好理解的,在css中用 “+”就可以解决了,可以看到下面我成功将第二个p绘制成了红色。

     1 2  3  4  5  6 11 12 13 

    我是第一个段落

    14

    我是第二个段落

    15 16 17

    4. 属性选择器

      如果玩过jquery,这个属性选择器我想非常清楚,首先看个例子,我想找到name=test的p元素,将其标红。

     1  2  3  4  5 10 

    到现在为止,有没有感觉到和jquery的玩法一模一样,而且感觉越来越强烈,已经到了 ”你懂的“ 的境界。

    二:css内部机制的猜测

    文章开头也说了,浏览器会根据css中定义的”标签”,然后将这个标签的样式应用到dom中指定的”标签“上,就比如说,我在css中定义了一个

    p样式,但浏览器怎么就能找到dom中的所有的p元素呢??? 因为闭源的原因,我们无法得知其内部机制,不过在jquery上面,或者我们可以窥知一

    二,因为css能展示的选择器用法,在jquery中都能做得到,然后我就很迫不及待的去看看jquery如何提取我的各种选择器写法,下面我们看看源码。

     1 2  3  4  5  6 7 8 13 14 

    声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文档

    CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose

    CSS之旅--第二站如何更深入的理解各种选择器_html/css_WEB-ITnose:上篇我们说了为什么要使用css,这篇我们就从选择器说起,大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成 了xml格式,否则的话就是一堆杂乱无章的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElemen
    推荐度:
    标签: html css 选择器
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top