问答详情
源自:8-8 我全都要 - 通用选择器

*{color:blue;font-size:20px;}和body{color:blue;font-size:20px;}

body{color:blue;font-size:20px;}

为何这样 勇气两个字不会变成20px 

body{color:blue;font-size:20px;}和*{color:blue;font-size:20px;}效果不是一样吗?

提问者:慕村7315608 2019-02-18 16:48

个回答

  • kingdom_C
    2019-02-18 16:59:16
    已采纳

    因为“勇气”加了<h1>标签,浏览器会自动将勇气的字体放大

  • boyGreen
    2019-03-29 09:37:31

    通用选择器(Universal Selector) 会阻断(override)继承机制。

    https://meyerweb.com/eric/articles/webrev/200006a.html

  • 慕粉15006335332
    2019-02-18 17:05:08

    当然不一样,这涉及到CSS权重问题,*通配符的CSS权重最低(权重数值为1,具体各个权重数值自行百度:CSS权重)。

    有些标签(如a标签)天生自带一些效果,自带的权重都会比都会把通配符*权重高,所以即使用*改变了字体效果,有些标签自带的效果还是会替换掉*设置的效果。

    而标签选择器(body)的CSS的权重要高于标签自带属性的权重,所以字体会都变色。



  • kingdom_C
    2019-02-18 17:02:26

    可能是优先级问题,*的优先级大于h1标签的优先级,所以先执行了*{  } 中的CSS代码