CSS 特异度、继承、求值过程简介
一、选择器特异度(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 特异度、继承、求值过程简介相关推荐
- 反汇编基础-加法的求值过程(各种类型)
首先看int型 代码如下: int nOne = 0, nTwo = 0;nOne = 1 + 1;nOne = nOne + 1;nTwo = nOne + nTwo; 这里先来一次人肉反汇编: m ...
- c语言中缀表达式求值_[源码和文档分享]基于C++的表达式计算求值
一.使用说明 1.1 项目简介 表达式求值是程序设计语言编译中的一个最基本的问题,就是将一个表达式转化为逆波兰表达式并求值.具体要求是以字符序列的形式从终端输入语法正确的.不含变量的整数表达式,并利用 ...
- 逆波兰表达式求值(leetcode 150)
文章目录 1.问题描述 2.难度等级 3.热门指数 4.解题思路 5.实现示例 5.1 C++ 5.2 Golang 参考文献 1.问题描述 逆波兰表达式也叫后缀表达式. 有效的算符包括 +.-.*. ...
- python前缀表达式求值_python数据结构与算法 11 后缀表达式求值
从本节开始,删除原版的英文,直接发译后的文稿. 后缀表达式求值 栈的最一个应用例子,计算一个后缀表达式的值.这个例子中仍然用栈的数据结构.不过,当扫描表达式的时候,这次是操作数压栈等待,不是转换算法中 ...
- Emacs之魂(三):列表,引用和求值策略
Emacs之魂(一):开篇 Emacs之魂(二):一分钟学会人界用法 Emacs之魂(三):列表,引用和求值策略 Emacs之魂(四):标识符,符号和变量 Emacs之魂(五):变量的"指针 ...
- 一道PHP题引出的“短路求值”
今天群里有个人问了一个问题,代码如下: $a = 3; $b = 2; if ($a = 2 || $b = 5) { ++$a; } echo $a; 说代码段的执行的结果为1,问大家$a的 ...
- leetcode 227. Basic Calculator II | 227. 基本计算器 II(中缀表达式求值)
题目 https://leetcode.com/problems/basic-calculator-ii/ 题解 这道题是 中缀表达式求值 的简化版(因为没有左右括号运算),不过输入的形式有两个处理起 ...
- 栈的应用——表达式求值(双栈)
1.表达式求值 中缀表达式是正常的表达式形式, 例如:4.99 * 1.06 + 5.99 + 6.99 * 1.06 后缀表达式是针对中缀表达式而言的,可以理解为:操作符在两个操作数之后. 例如:4 ...
- R语言 表达式对象的求值 eval
R语言 表达式对象的求值 eval 模式为 "expression"的对象在Expression objects 有具体定义.它们和引用对象的列表非常相似. > ex < ...
- 表达式求值问题数据结构课程设计
完整代码在最后~~ 1 需求分析 1.1 问题描述 表达式求值是程序设计语言编译中的一个最基本问题,就是将一个表达式转化为逆波兰表达式并求值.具体要求是以字符序列的形式从终端输入语法正确的.不含变量的 ...
最新文章
- 吴恩达等ML大神对话:如何用机器学习应对气候变化 | NeurIPS 2019
- 英特尔九州云99Cloud OpenStack行业应用研讨会
- c++11: less的用法
- 网站发布问题及使用Web Deployment Projects
- mysql5.7设置SQL Mode
- s6-9 TCP 定时器
- 【Python 必会技巧】利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
- (一)Rational Rose 2007 下载安装
- pycharm显示全部数据_必备 | 提升效率的数据分析工具,吴恩达都在用
- 无法安装 DotNetCore.1.0.0-VS2015Tools.Preview2解决方法
- quartz mysql 驱动_quartz mysql 集成
- AnyLogic学习
- Gym Atari环境预处理Wrapper解读
- Java实现PDF文件转图片(支持单页和多页)
- JavaScript 获取元素方法
- ArcServer 9.3 ecp、 ArcSDE 9.3 ecp、 ArcIMS 9.3 ecp、 ArcEngine 9.3 ecp
- 如何在供应链金融中防范风险?
- Linux必会100个命令(十六)ping、nc
- oracle内连接简写,【Oracle】——内连接、外连接
- python爬网页统计数据_Python爬取阿拉丁统计信息过程图解
热门文章
- 苹果手机连wifi很慢-解决方案
- 如何使用加密狗加密自己程序
- C++中setw()函数
- web前端需要学MySQL吗_HTML是web前端工程师必须要学的
- flink定时器使用问题
- python丨Scrapy框架案例二:阳光问政平台
- MC56F8366 DSC并口卡配置详尽步骤
- c语言this什么意思,JavaScript 中的this是什么?它到底做了什么?
- php元换成万元,万元单位换算器(元换算成万元换算器)
- java 金字塔 2的幂_三角形数(金字塔三角形数量公式)