是不是在伪类:之前使用任何选择器过滤标签都可以?

是不是在伪类:之前使用任何选择器过滤标签都可以?

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>CSS样式</title>

<!--下面是使用style标签在head中对body标签的指定属性进行样式指定-->

<style type="text/css">

/*使用不同选择器来对样式属性进行声明*/

/*标签选择器,直接用标签名作为选择器*/

p{color: red;}

/*类选择器,在开始标签中添加类生命,使用类名对同一类标签进行属性设置*/

.green{color: green;text-decoration:underline; }

/*对不同类型元素的同一个名称的类选择器设置不同的样式属性*/

h1.gray{color: gray;}

/*id选择器:在相应的html开始标签添加id属性值,通过id选择器为具有此id属性的标签进行属性设置,但是要注意,是唯一的,不可为多个标签指明同一个id属性,当然,每一个标签也最好只有一个id,虽然在有些浏览器会默认忽略这些问题,但之后在学习javascript时要使用唯一的id否则会报错*/

#one{color: gray;}

#two{color:blue;}

/*群组选择器:集体统一地来设置样式(其实就是选择器使用其他选择器名作为选择器但是以逗号隔开而已,可以不同选择器进行组合,所以可以对标签选择器、id选择器、类选择器等其他选择器进行群组样式的设置)*/

div,span{color: red;}

/*全局选择器(通配符选择器):是对所有的标签进行样式设置,使用*来作为选择器,但全局选择器在所有选择器的优先级中是最低的*/

*{font-size: 50px;color: blue;}

/*后代选择器:之间用空格隔开,例如下图,指明对p标签下面的em标签进行属性设置(根据html文件中标签的结构关系来排列),当然,特可以通过类选择器,标签选择器和ID选择器来当作过滤条件*/

p span em{color: black;}

p span.span1 em{color: blue;}

p span #em1{color: pink;}

/*伪类选择器处理不同状态下不同属性的情况*/

/*链接伪类*/

/*伪类hover和active不仅可以用于链接标签,还可以用于其他标签,作用时期都是一样的*/

a:link{color: gray;}/*未访问状态*/

a:visited{color: blue;}/*已备访问状态*/

a:hover{color: orange;}/*鼠标悬停状态*/

a:active{color: green;}/*激活状态,即点击链接未松开的时候*/

p:hover{color: orange;}/*鼠标悬停状态*/

p:active{color: green;}/*激活状态,即点击链接未松开的时候*/

p span em:hover{color: orange;}/*鼠标悬停状态*/

p span em:active{color: green;}/*激活状态,即点击链接未松开的时候*/

/*在使用伪类为某一标签指明属性时要注意伪类声明的顺序*/

</style>

</head>

<body>

<!--同一个元素可以设置多个类,类之间用空格隔开-->

<h1 class="green gray">CSS层叠样式</h1>

<h2 class="green">CSS层叠样式</h2>

<h3 id="one">CSS层叠样式</h3>

<h4 id="two">CSS层叠样式</h4>

<p>用于定义HTML内容在浏览器中的显示样式</p>

<p>用于定义HTML内容在浏览器中的显示样式</p>

<div>用于定义HTML内容在浏览器中的显示样式</div>

<span>用于定义HTML内容在浏览器中的显示样式</span>

<br/>

<p><span><em>后代选择器</em></span></p>

<p><span><em>后代选择器</em></span></p>

<p><span class="span1"><em>后代选择器</em></span></p>

<p><span><em id="em1">后代选择器</em></span></p>

<a href="http://www.baidu.com" target="_blank">链接伪类测试<a>

</body>

</html>

为什么在35、36行使用的代码没有作用,是不是在伪类:之前使用任何选择器过滤标签都可以,那为什么我用后代选择器不行,还是只能是针对a标签的???

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好同学 , 是属性一样了就会覆盖的 ,伪类也是要遵守权重规则的 ,如果它权重不够 , 相同的样式也是会被权重大的覆盖 . 同学可以在浏览器中按F12查看一下 , 如下:

http://img1.sycdn.imooc.com//climg/5bf24d70000183e718710440.jpg

http://img1.sycdn.imooc.com//climg/5bf24d3f00013a8808220400.jpg

希望解答了你的疑惑,  祝学习愉快 ,望采纳 . 

好帮手慕夭夭 2018-11-19 10:23:36

你好同学 ,是说的如下文字使用p span em:hover{color: orange;}没有起作用吗 ?

http://img1.sycdn.imooc.com//climg/5bf21de7000126d905820349.jpg

这个和权重有关系 ,如下粉色文字选择器(p span #em1)的权重 ,比伪类的那两个要权重大 .所以伪类的样式覆盖不了 . 

http://img1.sycdn.imooc.com//climg/5bf21e2a0001866a07560495.jpg

如下设置选择器即可:

http://img1.sycdn.imooc.com//climg/5bf21e850001ae6a03530098.jpg

希望解答了你的疑惑 , 祝学习愉快 ,望采纳 . 

  • 提问者 慕盖茨0328911 #1
    使用权值进行判断的时候不是设置的属性值冲突的时候吗,当属性值未冲突时,不是采取唯一指定的属性值的吗?虽然之前设置的都是color属性值,但是hover是鼠标悬停状态,上一个是正常状态,这样也会产生冲突吗?
    2018-11-19 13:02:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师