您现在的位置是:网站首页> 编程资料编程资料
举例详解CSS中的选择器纯CSS实现的三列布局网页效果实例CSS层透明实现方法CSS数字列表实现方法
2021-09-05
794人已围观
简介 这篇文章主要介绍了举例详解CSS中的选择器,作者用代码示例讲解了dom的相关知识,中需要的朋友可以参考下
大家都知道浏览器会把远端过来的html解析成dom模型,有了dom模型,html就变成了xml格式,否则的话就是一堆“杂乱无章”的string,这样的话没人知道是什么鸟东西,js也无法什么各种getElementById,所以当浏览器解析成dom结构后,浏览器才会很方便的根据css各种规则的选择器在dom结构中找到相应的位置,那下一个问题自然就严重了,那就是必须深入的理解dom模型。
一:理解Dom模型
首先我们看下面的代码。
有名的公司一栏
- 百度
- 新浪
- 阿里
用这个代码我们很容易的画出dom树。
当你看到这个dom树的时候,是不是顿时感到信息量特别大,很简单,因为是树,所以就具有了一些树的特性,比如 “孩子节点”,“父亲节点”,
“兄弟节点”,“第一个左孩子”,“最后一个左孩子”等等,对应着后续我要说的各种情况,一起来看看html被脱了个精光的感觉是不是很爽~~~~
1:孩子节点
找孩子节点,本质上来说分两种,真的只找“孩子节点”,“找到所有孩子(包括子孙)“
<1> 后代选择器
首先看下面的html,我想你可以轻而易举的绘制出dom树了,那下面的问题就是怎么将body中所有的后代span都绘上red。
我是span1
- 我是span2

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

<2> ”伪选择器”玩法
除了上面这种玩法,在css3中还可以使用”伪选择器”玩法,真tmd的强大,下一篇会专门来讲解,这里只介绍一个:nth-child用法,如果
你玩过jquery,一切都不是问题。
我是span1
我是span2
- 我是span3

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

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

到现在为止,有没有感觉到和jquery的玩法一模一样,而且感觉越来越强烈,已经到了 ”你懂的“ 的境界。
二:css内部机制的猜测
文章开头也说了,浏览器会根据css中定义的”标签”,然后将这个标签的样式应用到dom中指定的”标签“上,就比如说,我在css中定义了一个
p样式,但浏览器怎么就能找到dom中的所有的p元素呢??? 因为闭源的原因,我们无法得知其内部机制,不过在jquery上面,或者我们可以窥知一
二,因为css能展示的选择器用法,在jquery中都能做得到,然后我就很迫不及待的去看看jquery如何提取我的各种选择器写法,下面我们看看源码。
我是第一个段落
我是第二个段落

在jquery里面经过一番查找,最后可以看到仅仅是调用了queryselectorAll这个dom的原生方法,你也可以在console中清楚的看到,最后的
results就是找到的p元素,为了验证,我在taobao page下开一个console。
到现在,我大概粗略的猜测,也许至少在chrome浏览器下,浏览器为了找到dom中指定的元素,或许也是调用了queryselectAll方法。。。
好了,大概也就说这么多了,理解dom模型是关键,这样的话才能理解后续浏览器的渲染行为。
相关内容
- CSS实现左图右文混排布局的方法div css图文混排列表设计中的基础问题总结CSS 网页图文混排的10个技巧CSS制作清爽绿色格调图文box通用样式css background-position 用法详细图文介绍只要十步就能学会用CSS建设网站 CSS建站的十个步骤(图文教程)什么是CSS Sprites(图片合并)技术 图文介绍各大浏览器 CSS3 和 HTML5 兼容速查表 图文
- CSS文章列表切换选项卡效果实例基于jquery+css3实现的Tabs带图形按钮选项卡切换纯CSS实现的非常漂亮的tab选项卡类似于黑板报的切换效果jQuery+css3实现的超酷无图片圆角tab选项卡切换效果CSS3+jQuery实现切换过程中带有动态滑动展示的选项卡Tab效果html+css+jquery模仿搜索风云榜选项卡效果有截图
- CSS控制文字在一条线中间的方法css实现中间文字两边横线效果
- 纯CSS实现的三列布局网页效果实例支持IE8的纯css3开发的响应式设计动画菜单教程布局和排版教程 纯css3实现图片三角形排列纯CSS无hacks的跨游览器自适应高度多列布局 推荐完全掌握纯CSS布局网页-CSS教程-网页制作-网页教学网
- CSS层透明实现方法关于css设置层透明CSS实现让文字半透明显示在图片上的方法css+filter实现简单的图片透明效果使用CSS3实现圆角,阴影,透明纯CSS3实现的背景透明迷人的联系表单特效 CSS如何只改变父元素背景透明度不改变子元素透明度让div透明而里面的文字不透明的写法css实现半透明效果基本原理css中filter:alpha透明度使用小结兼容IE、火狐
- CSS数字列表实现方法CSS解决无空格的字母、数字过长不自动换行的问题css实现数字分页效果css实现连续的英文或数字自动换行的方法css如何实现数字分页效果代码及步骤css3制作动态进度条以及附加jQuery百分比数字显示css 解决英文字符与阿位伯数字自动换行 CSS 数字和字母将容器撑大问题解决jquery+CSS3实现的数字时钟效果源码
- CSS利用1像素空缺实现圆角效果的方法使用CSS3实现圆角,阴影,透明CSS3实现圆角、阴影、透明效果并兼容各大浏览器纯CSS3实现圆角效果(含IE兼容解决方法)css3圆角边框和边框阴影示例CSS表格样式:圆角,隔行,变色的具体实现css教程制作css圆角边框(兼容全部浏览器)css3圆角样式分享自定义按钮样式css圆角样式制件代码示例(css设置圆角)纯CSS3实现的紫色性感华丽带有圆角效果的登录表单效果
- CSS实现让同一行文字和输入框对齐的方法CSS实现带箭头的提示框效果【示例代码】纯css实现输入框placeholder动效及输入校验CSS使用placeholder-shown伪类实现输入框浮动文字效果CSS实现输入框的周围高亮效果让边框发亮CSS实现 Google Material Design 文本输入框风格(推荐)
- CSS实现圆柱型数据报表的方法IE7与web标准设计(1)-CSS教程-网页制作-网页教学网基于HTML5/CSS3实现的数据切换动画的动态折线图表源码inline-block空隙之css letter-spacing与字体大小/字体关系数据表html+css实现数据图表的展示效果
- CSS实现同一行的图片和文字垂直居中对齐的方法垂直居中对齐的CSS示例代码CSS制作水平垂直居中对齐 多种方式各有千秋css两种垂直居中对齐解决方案(小结)