为什么CSS中字体大小设置不遵循权值

为什么CSS中字体大小设置不遵循权值

<!DOCTYPE html>
<html>
<head>
 <title></title>
 <meta charset="utf-8"/>
 <style type="text/css">
      /*div{font-size:20px;}
      /*.em{font-size:1.5em;}*/
      div{color:blue;}
      .em{color:green;}
 </style>
</head>
<body>
<div>
 <p class="em">看看字体有什么变化</p>
</div>
</body>
</html>

为什么颜色会遵循权值,而设置字体的时候会一层层来计算,而不是直接用权值来优先使用权值最大的那个字体呢?

正在回答

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

2回答

div{font-size:20px;}

.em{font-size:1.5em;}

这两行代码不冲突的,一个是给div设置字体大小的,一个是给p设置字体大小的,设置了div{font-size:20px;}之后,div里面所有的元素字体大小都是20px,然后你又给p设置了.em{font-size:1.5em;},这个时候p的字体大小就变成了20*1.5=30px了,em是相对单位。

1em 等于当前的字体尺寸。

2em 等于当前字体尺寸的两倍。

例如,如果某元素以 12pt 显示,那么 2em 是24pt。

   

和颜色的一个道理。祝学习愉快!

  • 慕仔6559745 提问者 #1
    好吧,我直接把size拎出来记
    2017-05-30 20:22:18
Miss路 2017-05-30 13:00:39

如果你觉得权值不太好理解的话,你可以这样来记,针对又同一个元素,必须是同一个元素哦,id选择器>class选择器>标签选择器。这里很明显,针对的不是同一个元素,你拿div和p来比较,肯定是p的优先级要高的。

也可以这么理解,你先给div里面的所有元素设置了字体颜色为蓝色,然后又给p标签设置了颜色为绿色,那么这个时候p的字体颜色就是绿色。

祝学习愉快!

  • 提问者 慕仔6559745 #1
    老师,我的意思是字体大小的设置,是代码中被标注的部分,取消标注后,最后p元素中的字体大小为什么是类元素相对父元素计算出来的字体大小值……
    2017-05-30 13:07:57
  • 小山东 回复 提问者 慕仔6559745 #2
    为什么不是呢? 
    2017-07-01 09:00:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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