慕村7315608
2019-02-18 16:48
body{color:blue;font-size:20px;}
为何这样 勇气两个字不会变成20px
body{color:blue;font-size:20px;}和*{color:blue;font-size:20px;}效果不是一样吗?
因为“勇气”加了<h1>标签,浏览器会自动将勇气的字体放大
通用选择器(Universal Selector) 会阻断(override)继承机制。
https://meyerweb.com/eric/articles/webrev/200006a.html
当然不一样,这涉及到CSS权重问题,*通配符的CSS权重最低(权重数值为1,具体各个权重数值自行百度:CSS权重)。
有些标签(如a标签)天生自带一些效果,自带的权重都会比都会把通配符*权重高,所以即使用*改变了字体效果,有些标签自带的效果还是会替换掉*设置的效果。
而标签选择器(body)的CSS的权重要高于标签自带属性的权重,所以字体会都变色。
可能是优先级问题,*的优先级大于h1标签的优先级,所以先执行了*{ } 中的CSS代码
初识HTML(5)+CSS(3)-升级版
1225293 学习 · 18230 问题
相似问题