仙剑问情0.0 2023-04-22 23:15 采纳率: 77.8%
浏览 48
已结题

关于继承和优先级问题

请问现有两个代码进行比较:
代码1:

<!DOCTYPE html>
<html>
    <head>
    <meta charset="utf-8">
    </head>
    <style type="text/css">
        #box1 div{
            color:red;
        }
        #box3{
            color:blue;
        }
    </style>
</head>
<body>
    <div id="box1">
       <div id="box3">
           <p>aaaa</p>
       </div>
    </div>
</body>
</html>
问题1:请问以下理解是否正确?
这个代码最终aaaa是red,因为都没有单独对p设置样式,但p又都是#box1 div和#box3的子类,又因为两个
都是对color进行设置,所以再比较优先级:#box1 div优先级为101而#box3优先级为100所以最终执
行red颜色。如果这个理解没有问题请看代码2

代码2:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
  </head>
    <style type="text/css">
        div p{
            color:red;
        }
        #box{
            color:blue;
        }
    </style>
</head>
<body>
    <div id="box">
        <p>
            <span>aaaa</span>
        </p>
    </div>
</body>
</html>
问题2.最终执行结果aaaa是红色,请问为什么?这个代码和代码1总体差不多只是标签不同,按照代码1的理解:
首先都没有对span设置单独的样式,但span都是div p和#box的子类,此时比较优先级,div p优先级为2
#box优先级为100,所以应该最终执行的是蓝色呀?

问题3.将#box{color:blue;}改为#box p{color:blue;}为什么就变成了蓝色?我的理解是在body中
<p>标签已经是div#box的子类了,那我#box p{color:blue;}加不加这个p感觉好像没区别呀?因为
body里面不是已经体现了p被div#box继承了么
  • 写回答

5条回答 默认 最新

  • 白云苍狗い 2023-04-24 09:11
    关注

    来了 来了 发现你对继承特别的执拗,没猜错的你是初学者把,我刚学的时候也对这些细节扣的特别执着

    你的问题 我就不看了, 直接用你的代码 给你讲一下
    首先 上次我们说了 继承来样式 你可以算他权重是0或者没有 (这只是让你方便理解 )
    看你第二个案例 ,我们直接看控制台

    img


    上面我们说了 继承样式 没有权重所以没有你说的 101 10之类的 只有就近原则 爸爸给的就比爷爷给的好使

    第一个

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月22日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助