当前位置: 首页 > news >正文

CSS样式:覆盖规则

规则一:由于继承而发生样式冲突时,最近祖先获胜。

CSS的继承机制使得元素可以从包含它的祖先元素中继承样式,考虑下面这种情况:

<html>

<head>

<title>rule 1</title>

<style>

body {color:black;}

p {color:blue;}

</style>

</head>

<body>

    <p>welcome to <strong>gaodayue的网络日志</strong></p>

</body>

</html>

 strong分别从body和p中继承了color属性,但是由于p在继承树上离strong更近,因此strong中的文字最终继承p的蓝色。

 

规则二:继承的样式和直接指定的样式冲突时,直接指定的样式获胜。

在上面的例子中,假如还指定了strong元素的样式,如:

strong {color:red;}

那么根据规则二,strong中的文字最终显示为红色。

规则三:直接指定的样式发生冲突时,样式权值高者获胜。

样式的权值取决于样式的选择器,权值定义如下表:

css选择器权值
 标签选择器 1
 类选择器 10
 ID选择器 100
 内敛样式 1000
 伪元素(:first-child等) 1
 伪类(:link) 10

可以看到,内联样式的权值>>ID选择器>>类选择器>>标签选择器,除此以外,后代选择器的权值为每项权值之和,比如”#nav .current a”的权值为100 + 10 + 1 = 111。

规则四:样式权值相同时,后者获胜。

<p
class="byline">Written by <a
class="email"
href="mailto:jean@cosmofarmer. com">Jean Graine de Pomme</a></p>


.byline a {color:red;}

p .email {color:blue;}

“.byline a”与”p .email”都直接指定了上面的a元素,且权值都为11,根据规则四,最终显示蓝色。

规则五:!important的样式属性不被覆盖。

!important可以看做是万不得已的时候,打破上述四个规则的”金手指”。如果你一定要采用某个样式属性,而不让它被覆盖的,可以在属性值后加上!important,以规则四的例子为例,”.byline a {color:red !important;}”可以强行使链接显示红色。大多数情况下都可以通过其他方式来控制样式的覆盖,不能滥用!important。

转载于:https://www.cnblogs.com/Nyan-Workflow-FC/p/10419468.html

相关文章:

  • 猴子数据域名防封接口降低小说被封的风险
  • hadoop搭建之hive安装
  • 构造函数(constructor)与原型链(prototype)关系
  • css3省略……
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • 前端性能优化--懒加载和预加载
  • 如何封装使用api形式调用的vue组件
  • 小白修神传~程序员成神之路
  • 26、springboot与消息
  • Javascript基础之Array数组API
  • redhat6.4提权Ⅱ
  • 运算符和自增自减
  • ☆1033
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 【mysql】环境安装、服务启动、密码设置
  • 【附node操作实例】redis简明入门系列—字符串类型
  • canvas绘制圆角头像
  • Java IO学习笔记一
  • js写一个简单的选项卡
  • Laravel 实践之路: 数据库迁移与数据填充
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • MySQL QA
  • python_bomb----数据类型总结
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 使用parted解决大于2T的磁盘分区
  • 消息队列系列二(IOT中消息队列的应用)
  • 小程序button引导用户授权
  • 用简单代码看卷积组块发展
  • Prometheus VS InfluxDB
  • #14vue3生成表单并跳转到外部地址的方式
  • $forceUpdate()函数
  • (2009.11版)《网络管理员考试 考前冲刺预测卷及考点解析》复习重点
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (二)windows配置JDK环境
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (一)搭建springboot+vue前后端分离项目--前端vue搭建
  • (转)关于多人操作数据的处理策略
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网
  • ****Linux下Mysql的安装和配置
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET 使用配置文件
  • @ConditionalOnProperty注解使用说明
  • @RequestBody与@ResponseBody的使用
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [383] 赎金信 js
  • [AAuto]给百宝箱增加娱乐功能
  • [Angular 基础] - 自定义指令,深入学习 directive