继承

一些属性可以被继承,一些不可以。

一般来说,字体颜色、字体大小会被继承,关于形状的如 padding 、border 、margin、width等就不会被继承。哪些属性属于默认继承很大程度上是由常识决定的。

控制继承

CSS提供了四个通用属性值来控制继承,每个CSS属性都可以接收这些值。

  • inherit 继承父元素的属性值
  • initial  设置属性值和浏览器默认样式相同
  • unset  将属性重置为自然值,如果有inherit的话就是inherit,否则和initial一样
  • revert  很少浏览器支持

重设所有属性值

all : unset initial inherit  revert

  撤销对所有样式所做的更改,以便回到之前已知的起点。


层叠

有时对于一些元素有多条规则,那么应该选用哪条规则应用于这些元素?

根据重要性从上到下,有三个因素需要考虑:

  • 资源顺序

    当两条同级别的规则应用到同一个元素上时,写在后面的规则就是实际使用的规则

  • 优先级

  声明在style属性(内联样式) > ID选择器 >类选择器、属性选择器、伪类选择器 > 元素选择器、伪元素选择器

  选择范围越小,优先级越高,因为越精确。

  因此通用的做法是,给基本元素定义通用的样式,根据需求再创建不同的类。

选择器属性优先级计算:

一个选择器的优先级由四个部分相加 ,可以认为是个十百千 —— 四位数的四个位数:

    1. 千位: 如果声明在 style 的属性(内联样式)则该位得一分。这样的声明没有选择器,所以它得分总是1000。
    2. 百位: 选择器中包含ID选择器则该位得一分。
    3. 十位: 选择器中包含类选择器、属性选择器或者伪类则该位得一分。
    4. 个位:选择器中包含元素、伪元素选择器则该位得一分。

注意:

1. 通用选择器(*)、组合符合(>, ~, +, ' ')和否定伪类(: not) 不会影响优先级。

2. 计算时不能进位,即20个元素选择器的叠加 也不能超过一个类选择器。

  • ! important

    ! important 优先级最高,能够覆盖普通规则的层叠。

    覆盖 ! important 的唯一办法是用另一个位置靠后或者具有更高优先级的 ! important 覆盖它。

    但是我们应该尽量避免使用这个属性,因为调试起来会不方便。

CSS基础-层叠与继承的更多相关文章

  1. HTML&CSS基础-样式的继承

    HTML&CSS基础-样式的继承 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HTML源代码 <!DOCTYPE html> <html> & ...

  2. CSS中层叠和继承的概念。

    继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代.比如下面代码: 1 2 3 4 5 6 7 8 9 <ht ...

  3. CSS 基础 优先级 选择器 继承

    1.样式优先级 (内联样式)Inline style     >    (内部样式)Internal style sheet     >     (外部样式)External style ...

  4. CSS+DIV入门第一天基础视频 CSS选择器层叠性和继承性

    大家好,我是小强老师, 现在网上的CSS+DIV视频,要么讲的太深,要么太浅,很多初学的同学们总是遇到困难,今天小强老师专门给大家准备了css课程的视频.带你从零基础学习CSS+DIV一直到能独立完成 ...

  5. CSS三大特性(继承、优先级、层叠)之个人见解

    首先声明一下CSS三大特性——继承.优先级和层叠.继承即子类元素继承父类的样式,比如font-size,font-weight等f开头的css样式以及text-align,text-indent等t开 ...

  6. Web前端温故知新-CSS基础

    一.CSS定义与编写CSS 1.1 CSS的定义 全名:Cascading Style Sheets -> 层叠样式表 定义:CSS成为层叠样式表,它主要用于设置HTML页面中的文本内容(字体. ...

  7. 妙味课堂——HTML+CSS基础笔记

    妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...

  8. CSS基础知识01

    一.CSS基础知识介绍 1.css是cascading style sheet层叠式样式表的简写 2.css小用法 加粗:font-weight:bold;             正常用:norma ...

  9. CSS基础和选择器

    什么是CSS? CSS是指层叠样式表(Cascading Style Sheets),样式定义如何显示HTML元素,样式通常又会存在于样式表中.也就是说把HTML元素的样式都统一收集起来写在一个地方或 ...

随机推荐

  1. fork()系统调用后,对于open()前后父子进程的访问

    一开始我也不是很懂,后来看了一篇别人的博客觉得写得特别好,现在拷贝下来分享一下. 如果换成write函数 如果换成write函数,先open()后fork(),那么父子进程共享文件描述符,即使在子进程 ...

  2. leetcode 30day--1

    Single Number Given a non-empty array of integers, every element appears twice except for one. Find ...

  3. 基于FFmpeg的Dxva2硬解码及Direct3D显示(一)

    目录 前言 名词解释 代码实现逻辑 前言 关于视频软解码的资料网上比较多了,但是关于硬解可供参考的资料非常之有限,虽然总得来说软解和硬解的基本逻辑一样,但是实现细节上的差别还是比较多的.虽然目前功能已 ...

  4. libcurl 使用记录

    1.libcurl中 CURLOPT_TIMEOUT 是使用 SIGALRM实现的,所以要注意 其对别的 SIGALRM 的使用的影响.

  5. Docker部署spring boot项目

    1.打包 将项目打jar包并传到服务器的一个文件夹中,我的是/opt/docker,注意项目中的mysql配置的IP是服务器公网的ip地址 #数据源设置 spring.datasource.usern ...

  6. rpm命令介绍

    rpm安装不能指定安装位置. 查看系统安装了哪些软件:rpm -qa  rpm -qa |grep keyword      (q:query  a 是all)   查看软件是否安装: rpm -q  ...

  7. C#高级编程之特性

    特性定义 MSDN的描述:使用特性,可以有效地将元数据或声明性信息与代码(程序集.类型.方法.属性等)相关联. 将特性与程序实体相关联后,可以在运行时使用反射这项技术查询特性. 参考此处作者的解释 h ...

  8. deepin20 作为生产力安装体验

    deepin 20安装使用体验,先看一下桌面吧! deepin介绍 简单介绍一下deepin吧,中文名称:深度操作系统,是由武汉深之度科技有限公司在Debian基础上开发的Linux操作系统,注意国内 ...

  9. 设置Centos7中vim与vi编辑器显示行号

    设置Centos7中vim与vi编辑器的行号 步骤一: 输入命令设置: 1.vim ~/.vimrc 或者:(vi ~/.vimrc) 步骤二: 输入命令保存: 1.在其中输入 "set n ...

  10. python-基础入门-6快速入门总结

    快速入门 程序输出: 1.print语句,字符串用双引号括起来 _在解释器中表示最后一个表达式的值. print语句 与字符串格式(%)结合使用,能实现字符串替换功能. >>>pri ...