一、选择器特异度(Speeificity)

举个栗子:

1. #nav .list li a:link2. .hd ul .links a

解释:

因为,

在 1 中,id 选择器有 1个(#nav),类与伪类共有 2个(.list 与 :link),元素与伪元素共有 2个(li 与 a)。所以在 1 中的特异度为 122。

在 2 中,id 选择器有 0个,类与伪类共有 2个(.hd 与 .links),元素与伪元素共有 2个(ul 与 a)。所以在 2 中的特异度为 22。

因为,在 1 中的特异度为 122 大于 在 2 中的特异度为 22 。

所以,在 2 中的选择器的优先级更高。

小贴士:我们可以用这一特性进行属性覆盖从而实现代码的重复使用。

举个栗子:<button class="btn">普通按钮 </button>
<button class="btn primary">主要按钮 </button><style>
.btn {display: inline-block; padding: .36em .8em; margin-right: .5em; line-height: 1.5;text-align: center; cursor: pointer; border-radius: .3em; border: none; background: #e6e6e6; color: #333;
}.btn .primary { color: #fff;background: #218de6;
}</style>

效果图:

二、继承

① 某些属性会⾃动继承其⽗元素的计算值,除⾮显式指定⼀个值。

② 一般文字、字体相关属性都可以继承,盒模型宽度、高度、边距等都不可以继承。

1. 显式继承

如果一个属性不可继承,我们可以使用 inherit 这个关键字让它能从父级继承。

举个栗子:// box-sizing 这个属性是不可以继承的。这样设置之后,这个属性就要从父级开始读取。
* {box-sizing: inherit;
}// 如果元素不单独设置 box-sizing 这个属性,那么所有元素都继承 html 的 box-sizing 属性。
html {box-sizing: border-box;
}

2. 初始值

在 CSS 中,每一个属性都有一个初始值。例如:

// background-color 的初始值为 transparent
background-color: transparent;// margin-left 的初始值为 0
margin-left: 0;

我们也可以使用 initial 这个关键字显式重置为初始值。

background-color: initial;

此时的 background-color 为 transparent;

三、CSS 求值过程

CSS 特异度、继承、求值过程简介相关推荐

  1. 反汇编基础-加法的求值过程(各种类型)

    首先看int型 代码如下: int nOne = 0, nTwo = 0;nOne = 1 + 1;nOne = nOne + 1;nTwo = nOne + nTwo; 这里先来一次人肉反汇编: m ...

  2. c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值

    一.使用说明 1.1 项目简介 表达式求值是程序设计语言编译中的一个最基本的问题,就是将一个表达式转化为逆波兰表达式并求值.具体要求是以字符序列的形式从终端输入语法正确的.不含变量的整数表达式,并利用 ...

  3. 逆波兰表达式求值(leetcode 150)

    文章目录 1.问题描述 2.难度等级 3.热门指数 4.解题思路 5.实现示例 5.1 C++ 5.2 Golang 参考文献 1.问题描述 逆波兰表达式也叫后缀表达式. 有效的算符包括 +.-.*. ...

  4. python前缀表达式求值_python数据结构与算法 11 后缀表达式求值

    从本节开始,删除原版的英文,直接发译后的文稿. 后缀表达式求值 栈的最一个应用例子,计算一个后缀表达式的值.这个例子中仍然用栈的数据结构.不过,当扫描表达式的时候,这次是操作数压栈等待,不是转换算法中 ...

  5. Emacs之魂(三):列表,引用和求值策略

    Emacs之魂(一):开篇 Emacs之魂(二):一分钟学会人界用法 Emacs之魂(三):列表,引用和求值策略 Emacs之魂(四):标识符,符号和变量 Emacs之魂(五):变量的"指针 ...

  6. 一道PHP题引出的“短路求值”

    今天群里有个人问了一个问题,代码如下: $a = 3; $b = 2; if ($a = 2 || $b = 5) {     ++$a; } echo $a; 说代码段的执行的结果为1,问大家$a的 ...

  7. leetcode 227. Basic Calculator II | 227. 基本计算器 II(中缀表达式求值)

    题目 https://leetcode.com/problems/basic-calculator-ii/ 题解 这道题是 中缀表达式求值 的简化版(因为没有左右括号运算),不过输入的形式有两个处理起 ...

  8. 栈的应用——表达式求值(双栈)

    1.表达式求值 中缀表达式是正常的表达式形式, 例如:4.99 * 1.06 + 5.99 + 6.99 * 1.06 后缀表达式是针对中缀表达式而言的,可以理解为:操作符在两个操作数之后. 例如:4 ...

  9. R语言 表达式对象的求值 eval

    R语言 表达式对象的求值 eval 模式为 "expression"的对象在Expression objects 有具体定义.它们和引用对象的列表非常相似. > ex < ...

  10. 表达式求值问题数据结构课程设计

    完整代码在最后~~ 1 需求分析 1.1 问题描述 表达式求值是程序设计语言编译中的一个最基本问题,就是将一个表达式转化为逆波兰表达式并求值.具体要求是以字符序列的形式从终端输入语法正确的.不含变量的 ...

最新文章

  1. 吴恩达等ML大神对话:如何用机器学习应对气候变化 | NeurIPS 2019
  2. 英特尔九州云99Cloud OpenStack行业应用研讨会
  3. c++11: less的用法
  4. 网站发布问题及使用Web Deployment Projects
  5. mysql5.7设置SQL Mode
  6. s6-9 TCP 定时器
  7. 【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
  8. (一)Rational Rose 2007 下载安装
  9. pycharm显示全部数据_必备 | 提升效率的数据分析工具,吴恩达都在用
  10. 无法安装 DotNetCore.1.0.0-VS2015Tools.Preview2解决方法
  11. quartz mysql 驱动_quartz mysql 集成
  12. AnyLogic学习
  13. Gym Atari环境预处理Wrapper解读
  14. Java实现PDF文件转图片(支持单页和多页)
  15. JavaScript 获取元素方法
  16. ArcServer 9.3 ecp、 ArcSDE 9.3 ecp、 ArcIMS 9.3 ecp、 ArcEngine 9.3 ecp
  17. 如何在供应链金融中防范风险?
  18. Linux必会100个命令(十六)ping、nc
  19. oracle内连接简写,【Oracle】——内连接、外连接
  20. python爬网页统计数据_Python爬取阿拉丁统计信息过程图解

热门文章

  1. 苹果手机连wifi很慢-解决方案
  2. 如何使用加密狗加密自己程序
  3. C++中setw()函数
  4. web前端需要学MySQL吗_HTML是web前端工程师必须要学的
  5. flink定时器使用问题
  6. python丨Scrapy框架案例二:阳光问政平台
  7. MC56F8366 DSC并口卡配置详尽步骤
  8. c语言this什么意思,JavaScript 中的this是什么?它到底做了什么?
  9. php元换成万元,万元单位换算器(元换算成万元换算器)
  10. java 金字塔 2的幂_三角形数(金字塔三角形数量公式)