CSS中层叠和继承的概念。
继承
CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代。比如下面代码:
|
1
2
3
4
5
6
7
8
9
|
<html><br><head><style>p{border:1px solid red}</style></head><body><p>123<span>123</span>123</p></body></html> |
如某种颜色应用于p标签,这个颜色设置不仅应用p标签,还应用于p标签中的所有子元素文本,这里子元素为span标签。
在上面的例子中,span标签没有用处,p标签起到了设置了边框为1像素,实心边框线。
特殊性
有的时候我们为同一个元素设置了不同的CSS样式代码,那么元素会启用哪一个CSS样式呢?
想要理解这个概念,就要先理解权值这个概念。
在百度百科中对于权值的概念是这样的:在数学领域,权值指加权平均数中的每个数的频数,也称为权数或权重。计算机领域中(数据结构)权值就是定义的路径上面的值。可以这样理解为结点间的距离。通常指字符对应的二进制编码出现的概率。
|
1
2
3
4
5
6
7
8
9
10
11
|
<html><head><style>p{color:red}.first{color:green}</style></head><body><p class="first">123</p></body></html> |
在CSS中,权值是这样的:标签的权值为1,类选择符的权值10,ID选择符的权值为100。
层叠
如果在html文件中对于同一个元素可以有多个CSS样式存在并且这多个CSS样式具有相同权值怎么办?
这就是层叠,如下列代码:
|
1
2
3
4
5
6
7
8
9
10
11
|
<html><head><style>p{color:red}p{color:green}</style></head><body><p>123</p></body></html> |
最后p中的文本会设置成green,层叠很好理解。
选择器的优先级:
| 嵌入 | id | class | 元素 | |
|---|---|---|---|---|
| a | b | c | d | |
| style | 1 | 0 | 0 | 0 |
| id | 0 | 1 | 0 | 0 |
| class,属性,伪类 | 0 | 0 | 1 | 0 |
| 元素,伪元素 | 0 | 0 | 0 | 1 |
| 通配符 | 0 | 0 | 0 | 0 |
| !important | 最高 | 最高 | 最高 | 最高 |
重要性
当我们在做网页代码时,有些特殊的情况需要为某些样式设置具有最高权值,怎么办?这时我们可以使用!important来解决
如下代码:
|
1
2
3
4
5
6
7
8
9
10
11
|
<html><head><style>p{color:red!important;}p{color:green}</style></head><body><p>123</p></body></html> |
这时p的颜色为红色。
CSS中层叠和继承的概念。的更多相关文章
- 关于css中层叠性的一点理解
关于css层叠性的一点理解 标签(空格分隔): html css 我们平时在写css的时候会遇到这样的情况 <!DOCTYPE html> <html lang="en&q ...
- CSS中inherit指定继承的使用方法和auto的区别
CSS中的每个属性都有一个特定值"inherit",其含义是指定继承父元素的相应属性,使用inherit一方面在代码上能地表明要继承于父元素的样式属性,另一方面也使子元素继承了那些 ...
- CSS中那些必须掌握的概念
一.盒子模型 1.什么是盒子模型 css盒模型本质上是一个盒子,封装周围的html元素,它包括:外边距(margin).边框(border).内边距(padding).实际内容(content)四个属 ...
- CSS基础-层叠与继承
继承 一些属性可以被继承,一些不可以. 一般来说,字体颜色.字体大小会被继承,关于形状的如 padding .border .margin.width等就不会被继承.哪些属性属于默认继承很大程度上是由 ...
- css中属性值继承小解
继承:html元素可以从父元素那里继承一部分css属性,即使当前元素没有定义该属性. 1.css可以和不可以继承的属性 不可继承的:display.margin.border.padding.back ...
- Css中的两个重要概念:块状元素和内联元素
一.display:block display:block就是将元素显示为块级元素,一般是其他元素的容器,可容纳内联元素和其他块状元素,块状元素排斥其他元素与其位于同一行,宽度(width)高度(he ...
- CSS中层叠和CSS的7阶层叠水平(上篇)
今天搜索资料时,忽然发现了以前没注意的一个知识点,所以拖过来搞一搞,这个知识点叫做CSS的7阶层叠水平 在说这个知识之前,我们必须要先了解一个东西以便于我们更好的理解CSS的7阶层叠水平 这个东西就是 ...
- javascript中对象函数继承的概念
什么是函数对象?这个对象既是通常意义上的对象,又可以加上括号直接执行的函数. 产生函数对象的方式有两种:1.通过function关键字产生:var fn = function(){};2.实例化Fun ...
- css中权重与继承
出处:http://blog.csdn.net/xf616510229/article/details/53613212
随机推荐
- python网络编程:UDP方式传输数据
UDP --- 用户数据报协议(User Datagram Protocol),是一个无连接的简单的面向数据报的运输层协议. UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能 ...
- DevExpress MVVM<1>
DevExpress MVVM 概念 模型 -定义数据和您的业务逻辑. 视图 -指定UI,包括绑定到ViewModel中的属性和命令的所有可视元素(按钮,标签,编辑器等). ViewModel-连接模 ...
- 剑指offer笔记面试题7----重建二叉树
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如,输入前序遍历序列{1, 2, 4, 7, 3, 5, 6, 8}和中序遍历序列 ...
- vim 入门笔记
前言 本文的初衷 从知道 vim 开始我就有心学习并尝试过几次,每次都是暂时的心血来潮,最终全部不了了之,就连最基本的 vimtutor 我都是学个两三节就半途而废,所以这次干脆写篇文章,利用几次学习 ...
- double小数位数的显示
不显示小数点后的0,只显示2位小数 DecimalFormat df = new DecimalFormat(".##"); double num = 450.029000089; ...
- 检测值是否存在(??)(Freemarker的null值处理)
使用形式: unsafe_expr?? 或 (unsafe_expr)?? 这个操作符告诉我们一个值是否存在.基于这种情况, 结果是 true 或 false. 访问非顶层变量的使用规则和默认值操作符 ...
- Python语法速查: 16. 时间日期处理
返回目录 (1)datetime模块 datetime模块可以处理时间和日期,其中包含以下类:date类.time对象.datetime对象.timedelt对象.tzinfo对象. ● date类 ...
- vuex——action,mutation,getters的调用
一.子模块调用根模块的方法 mutation调用 context.commit('clearloginInfo',{key_root:data},{root:true}); action调用 co ...
- linux-在指定路径下查询文件夹是否存在
我们常常在Linux下去查找文件 find / -name 'test.py' # 在根目录下查找名为test.py的文件 但是如果用查找文件的方式去查找文件夹的话,是查不到的 find / -max ...
- 【algo&ds】9.拓扑排序、AOV&AOE、关键路径问题
对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性 ...