这个测试不太懂
标签p是1,标签span是1,p span是1+1,而.first是10为什么是紫色 我这哪里错了啊
标签p是1,标签span是1,p span是1+1,而.first是10为什么是紫色 我这哪里错了啊
2017-03-29
以你的理解觉得“胆小如鼠”也应该显示绿色,你对于权值理解有误差,权值比较的是相同的东西,且有范围之分,即p和.first指的是一样的,所以谁权值高显示谁。
你这样看首先p{color:red;} p文本显示红色,之后.first{color:green;}(这里的p标签和.first指的都是一样内容,只不过.first是p的类名) 由于权值高显示绿色(此时也包括span标签内容),最后p span{color:purple;}此时注意它的权值是2,即这里的p标签权值是2比.first小,所以p依旧显示绿色,但是由于span是p的子元素,他在前面没有定义过,此时定义了且权值为2,所以覆盖了父类元素的颜色,显示了紫色。
不信你把代码这样改
p span{color:red;}/*权值2*/
.first{color:green;}/*因为权值高显示为绿色*/
span{color:purple;}/*权值1*/
最后“胆小如鼠”显示红色
举报