id 级别最高
其次是伪类
然后是类
最低的是元素
下图实例:请看红圈位置不管代码插入的顺序在第几行,他都会按照我数字标注的顺序执行
同类别选择器执行顺序
在我们布局的时候,很常用的就是,一个div使用了多个类,他到底会优先执行那个呢?
我分别设置了三个类:
30行.aaa{背景红色}
31行.bbb{背景黄}
32行.ccc{背景蓝}
执行结果
优先执行了蓝色,我们在调换下代码顺序看看
30行.ccc{背景蓝}
31行.bbb{背景黄}
32行.aaa{背景红}
执行结果
从以上测试我们得出,在设置同一类选择器的情况下,优先级是以代码插入顺序有关的,越靠后的优先级就越高。
原因:在浏览器加载的过程中,是以从上到下的顺序执行的,在加载到最后一个的时候会把之前的替换掉
1、id选择器;2、类选择器;
3、标记选择器;
4、最后是伪选择器。
1.
id选择器(#myid);
2.
类选择器(.myclassname);
3.
标签选择器(div,h1,p);
4.
相邻选择器(h1+p);
5.
子选择器(ul
<
li);
6.
后代选择器(li
a);
7.
通配符选择器(*);
8.
属性选择器(a[rel="external"]);
9.
伪类选择器(a:hover,li:nth-child)。
参考资料
百度百科.百度[引用时间2018-3-31]
对页面的a标签(链接)进行控制,就用到伪类了,下面介绍一下各伪类的作用与用法:1.所有链接
首先,伪类:link和a元素选择器(来源于链接标记的<a href ...>部分)组合,创建选择器a:link。
a :link {
color:#f00
}
这个简单的选择器将处理所有<a>元素的实例,将所有未访问过的的链接变为红色。由于没有创建 相应的选择起来覆盖浏览器默认访问过的链接样式,所有访问过的链接也仍然是红色。
2.访问过的链接
为了区别显示访问过的链接,只需要结合<a>元素和:visited伪类创建一个简单的选择器即可。
a :visited {
color:#999
}
现在所有未访问过的链接是红色,而所有访问过的链接将变成淡灰色(如图7-2所示)。让访问过的链接和没有访问过的链接有所不同的是非常重要的。这是一个大家都接受的惯例,并且可以立即突出在本机上已经访问过的所有连接。
3.:hover伪类
假定有一个很大的连接列表,或者有一个到处都是链接的段落,如果没有某种形式的交互,用户很容易就会点错链接,从而被带到错误的目的网页。强大的:hover伪类可以解决这个问题,该伪类除了能够提高可用性外,也是非常吸引人的。
同样,这个选择器首先找到所有<a>元素的实例,但是仅仅当用户鼠标移动到链接文本时,才真正执行。
a:hover {
color:#333
}
这个简单的规则在鼠标放在链接上时将所有的链接文本变成深灰色,而不管该链接是否已经访问过。
4.:active伪类
:active伪类主要关注鼠标真正点击链接时的样式。该伪类可以提高网页的可用性。
a:active {
color:#333
}
在这个例子中,当用户点击链接时,只要当前页面一直保持浏览,文本将变成黑色,这样主要是提供一个额外的提示,以表明用户目前正在处理那个网页。
另外要非常注意的是这几个伪类在声明时的顺序:如果你在同一个选择器上使用几种不同的伪类,声明时一定要注意他们之间的先后顺序,记住,一定是L V H A(字母为各个伪类的首字母),这个顺序非常重要。
例如,如果你将a:hover选择器放在a:visited选择器之上(也就是说你的顺序是L H V A),由于层叠作用,你会发现a:hover声明对于所有访问过的链接没有任何影响。即使鼠标停留在连接上,文本仍然保持淡灰色,而不会发生预期的动作。或许有某些情况需要这种方法,但是这种场合应该很少,因此,最好是要避免。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)