CSS基础-层叠与继承
继承
一些属性可以被继承,一些不可以。
一般来说,字体颜色、字体大小会被继承,关于形状的如 padding 、border 、margin、width等就不会被继承。哪些属性属于默认继承很大程度上是由常识决定的。
控制继承
CSS提供了四个通用属性值来控制继承,每个CSS属性都可以接收这些值。
- inherit 继承父元素的属性值
- initial 设置属性值和浏览器默认样式相同
- unset 将属性重置为自然值,如果有inherit的话就是inherit,否则和initial一样
- revert 很少浏览器支持
重设所有属性值
all : unset initial inherit revert
撤销对所有样式所做的更改,以便回到之前已知的起点。
层叠
有时对于一些元素有多条规则,那么应该选用哪条规则应用于这些元素?
根据重要性从上到下,有三个因素需要考虑:
- 资源顺序
当两条同级别的规则应用到同一个元素上时,写在后面的规则就是实际使用的规则。
- 优先级
声明在style属性(内联样式) > ID选择器 >类选择器、属性选择器、伪类选择器 > 元素选择器、伪元素选择器
选择范围越小,优先级越高,因为越精确。
因此通用的做法是,给基本元素定义通用的样式,根据需求再创建不同的类。
选择器属性优先级计算:
一个选择器的优先级由四个部分相加 ,可以认为是个十百千 —— 四位数的四个位数:
- 千位: 如果声明在 style 的属性(内联样式)则该位得一分。这样的声明没有选择器,所以它得分总是1000。
- 百位: 选择器中包含ID选择器则该位得一分。
- 十位: 选择器中包含类选择器、属性选择器或者伪类则该位得一分。
- 个位:选择器中包含元素、伪元素选择器则该位得一分。
注意:
1. 通用选择器(*)、组合符合(>, ~, +, ' ')和否定伪类(: not) 不会影响优先级。
2. 计算时不能进位,即20个元素选择器的叠加 也不能超过一个类选择器。
- ! important
! important 优先级最高,能够覆盖普通规则的层叠。
覆盖 ! important 的唯一办法是用另一个位置靠后或者具有更高优先级的 ! important 覆盖它。
但是我们应该尽量避免使用这个属性,因为调试起来会不方便。
CSS基础-层叠与继承的更多相关文章
- HTML&CSS基础-样式的继承
HTML&CSS基础-样式的继承 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML源代码 <!DOCTYPE html> <html> & ...
- CSS中层叠和继承的概念。
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码: 1 2 3 4 5 6 7 8 9 <ht ...
- CSS 基础 优先级 选择器 继承
1.样式优先级 (内联样式)Inline style > (内部样式)Internal style sheet > (外部样式)External style ...
- CSS+DIV入门第一天基础视频 CSS选择器层叠性和继承性
大家好,我是小强老师, 现在网上的CSS+DIV视频,要么讲的太深,要么太浅,很多初学的同学们总是遇到困难,今天小强老师专门给大家准备了css课程的视频.带你从零基础学习CSS+DIV一直到能独立完成 ...
- CSS三大特性(继承、优先级、层叠)之个人见解
首先声明一下CSS三大特性——继承.优先级和层叠.继承即子类元素继承父类的样式,比如font-size,font-weight等f开头的css样式以及text-align,text-indent等t开 ...
- Web前端温故知新-CSS基础
一.CSS定义与编写CSS 1.1 CSS的定义 全名:Cascading Style Sheets -> 层叠样式表 定义:CSS成为层叠样式表,它主要用于设置HTML页面中的文本内容(字体. ...
- 妙味课堂——HTML+CSS基础笔记
妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...
- CSS基础知识01
一.CSS基础知识介绍 1.css是cascading style sheet层叠式样式表的简写 2.css小用法 加粗:font-weight:bold; 正常用:norma ...
- CSS基础和选择器
什么是CSS? CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中.也就是说把HTML元素的样式都统一收集起来写在一个地方或 ...
随机推荐
- 搭建vue-cli4.0项目
① Vue CLI的包名称由 vue-cli 改成了 @vue/cli. 如果已经全局安装了旧版本的 vue-cli(1.x或2.x), 你需要先通过 npm uninstall vue-cli ...
- tcp syn-synack-ack 服务端 接收 SYN tcp_v4_do_rcv分析
rcv 分析: /* The socket must have it's spinlock held when we get * here, unless it is a TCP_LISTEN soc ...
- python中 try、except、finally 的执行顺序(转)
def test1(): try: print('to do stuff') raise Exception('hehe') print('to return in try') return 'try ...
- 多MDS变成单MDS的方法
前言 之前有个cepher的环境上是双活MDS的,需要变成MDS,目前最新版本是支持这个操作的 方法 设置最大mds 多活的mds的max_mds会超过1,这里需要先将max_mds设置为1 ceph ...
- ceph集群的安装和配置教程
本篇主题: 1.怎样配置ssh免登陆访问 2.为什么搭建集群要关闭防火墙和selinux,如何关闭 3.从哪里获取ceph的安装包,怎样安装才是快速正确的 4.为什么要配置时间同步服务,怎样配置 5. ...
- springboot linux打包后访问不到resources 下面的模板文件
在本地是可以直接获取模板文件并下载,但是服务器上就不行 本地代码: @Overridepublic void downArchRelayTemplate(HttpServletRequest requ ...
- python菜鸟教程学习4:基本数据类型
变量:python中的变量不需要声明,但在使用前都必须要赋值,变量赋值之后才会被创建 在python中变量是没有类型的,所有的数据类型是对内存中对象的类型. 赋值:使用等号=来给变量赋值 python ...
- 数据结构实训——哈夫曼(Huffman)编/译码器
题目4.哈夫曼(Huffman)编/译码器(限1人完成) [问题描述] 利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本.但是,这要求在发送端通过一个编码系统对待传数据预先 ...
- Python3 Socket
Socket socket介绍 socket意为套接字,是应用层与传输层TCP/IP,UDP之间通信的中间软件抽象层,它是一组接口.使用时只需遵循socket的格式与规定去编程,让socket组织数据 ...
- EasyRecovery帮您轻松拯救办公室断电后的文件丢失
故事要从半个月前说起,某天中午,社畜小编得到了上头的传令,要为即将到来的双十一狂欢节写一个活动策划案. 想着时间也不是很充裕,还要留一些时间修修补补,于是小编连续三天挑灯夜战,终于在某天周五的晚上把策 ...