博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
多个Class作用于同一个元素的结果分析
阅读量:6350 次
发布时间:2019-06-22

本文共 1028 字,大约阅读时间需要 3 分钟。

多个Class作用于同一个元素的结果分析
 
多个class作用于同一个元素出现样式冲突,因为权重相同,结果如何呢
 
【代码】

<html>
<head>
  <style type="text/css">
  .
bColor{    
/*这个在css文件流中位于最前*/
     
color:green;    
     font-weight:
border;
  }
  .
aColor{     
/*这个在css 文件流 中位于
最后 */
     
color:red;
     font-size:
24px;
  }
  </style>
</head>
<body>
  <b class="
aColor 
bColor">alex</b>
</body>
</html>
 
最后alex的显示效果是
alex
 
【详细分析】

其实对于浏览器来说,
两个或多个class在最后都会合成一个“class”,我们暂且称之为
lastClass
由于两者
权重(也就是优先级的计算结果)相同,我们可以知道最后的显示效果完全是两个class的
并集,我们往下继续分析:
 
aColor + bColor -合成-> lastClass
 
等价于:
 
<b class="
lastClass">alex</b>
 
因为不管是 aColor还是 bColor都只是
lastClass
一部分,因此我们可以将上文中的样式修改如下:
 
  .
lastClass{    
/*这个原来是
bColor */
     
color:green;      /*这个color在后面
被重写 了, 所以失效 */
     font-weight:
border;
  }
    .
lastClass{     
/*这个原来是 aColor */
     
color:red;
     font-size:
24px;
  }
 
lastClass
则是依据CSS样式文件流从上往下依次为单个样式属性赋值的
CSS样式最后的实际显示是以单个样式属性为准的,class只是对元素进行批量赋值,不是CSS样式的实际值
对于单个css样式属性来说,自然是以最后一次赋值为准
 
【总结】:

问题中的显示结果
和class属性内class先后无关,
和CSS样式里面
单个样式属性
从上往下
先后有关,
同一个样式属性
冲突时 以 CSS样式中写在最后的一次赋值为准,
不同的样式属性 取多个class叠加效果为准

转载于:https://www.cnblogs.com/yangwen/p/3199181.html

你可能感兴趣的文章
GreenDao 数据库升级 连接多个DB文件 或者指定不同的model&dao目录
查看>>
M1卡破解(自从学校升级系统之后,还准备在研究下)【转】
查看>>
vue 访问子组件示例 或者子元素
查看>>
linux内核--自旋锁的理解
查看>>
银行卡的三个磁道
查看>>
OpenSSL 提取 pfx 数字证书公钥与私钥
查看>>
Keepalived详解(四):通过vrrp_script实现对集群资源的监控【转】
查看>>
CollapsingToolbarLayoutDemo【可折叠式标题栏,顺便带有CardView卡片式布局】
查看>>
CentOS7.4安装配置mysql5.7 TAR免安装版
查看>>
解决IE二级链接无法打开故障
查看>>
Windows phone应用开发[16]-数据加密
查看>>
SQL Server 迁移数据到MySQL
查看>>
通用数据压缩算法简介
查看>>
The next Industry Standard in IT Monitoring, a python implementation Nagios like tool --- Shinken
查看>>
(笔记)找工作,该怎么进补
查看>>
div的显示和隐藏以及点击图标的更改
查看>>
(轉貼) Ubuntu將在ARM平台netbook上現身 (SOC) (News) (Linux) (Ubuntu)
查看>>
SQL注入测试工具:Pangolin(穿山甲)
查看>>
在html 的img属性里只显示图片的部分区域(矩形,给出开始点和结束点),其他部份不显示,也不要拉伸...
查看>>
程序员第二定律:量化管理在程序员身上永无可能
查看>>