CSS引用方式及样式层叠机制
CSS引用方式有3种,三种分别为:外部引入、内部引入、行内样式,下面一 一进行介绍。
1.外部引入:CSS代码在一个独立的文件中,HTML通过Link标签引入到页面。
代码格式:<link rel=“stylesheet” href="../css/index.css">;

注:1.link标签是head的子元素;
2.link是空元素,用于引入外部资源;
2.内部引入:将CSS代码放入HTML文档中的style元素
代码格式:<style type="text/css">
p{
font-size(文字大小):10px;
}
</style>

3.行内样式:CSS代码写在某个开始标记的style属性中,不写选择器。
代码格式:<p style="属性值">元素内容</p>;

注:style所属的标签在body里;
样式层叠机制:
当有声明冲突时,浏览器会自动触发层叠机制。什么是声明冲突呢?通俗来说就是同一个样式的不同值应用到同一个标签,举个简单的例子:


相信小伙伴看到这个都知道结果是p标签的字体颜色为绿色,但为什么是绿色呢,这也就是今天要说的层叠机制。
首先说一下层叠的过程:1.比较优先级 2.比较特殊性 3.比较源次序,下面一 一进行介绍
1.比较优先级:用户样式表>作者样式表>浏览器的样式表
一个声明的优先级,与它的来源和重要性有关,
来源:
重要性:若属性值后跟上!improtant则表示这是一条重要声明,反之为普通声明,声明相同时,重要声明胜出,普通声明淘汰。将上方的例子修改:

一般在使用ui组件的时候,会常常用到重要声明。
2.比较特殊性:当发生冲突时,特殊性高的保留,特殊性低的淘汰。
特殊性从高到低:行内样式->ID选择器->类选择器->元素选择器->通配符选择器
一个声明的特殊性,取决于规则使用范围的大小,具体规则:每一次冲突的声明都会生成4个字母(a,b,c,d),首先比较a,如果a相同,则比较b...以此类推。废话不多说,直接来看a,b,c,d具体是如何生成的
a:当声明是行内样式,则为1,否则为0
b:声明中ID选择器的个数
c:声明中类选择器、伪类选择器和属性选择器的个数和
d:声明中元素选择器、伪元素选择器的个数和
通配符选择器的特殊性为0,下面来个例子解释:
由于考虑到行内样式的特殊性最高以及id选择器的唯一性,所以就只考虑c和d的规则
相信小伙伴们都猜到了结果,
3.比较源次性:最后出现的声明胜出,其他的全部淘汰,这一条比较简单,就如同最开始的例子一样。
本人小白,根据自己理解写的,写的不对的地方麻烦大神指点
CSS引用方式及样式层叠机制的更多相关文章
- CSS中的样式层叠机制Cascade
CSS中的样式层叠机制Cascade 一.样式冲突 样式冲突是CSS渲染过程要解决的一个关键问题,样式冲突主要由两个原因造成: 元素包含了不同对象所赋予的样式:浏览器.用户.作者.其中,浏览器样式 ...
- css引用方式
网页中引用CSS样式 内联样式 行内样式表 外部样式表 链接式 导入式 内嵌方式 style标签 <!doctype html> <html> <head> < ...
- CSS样式表引用方式
最近讲课中,有些学员对调用样式表老是有含糊不清?大体说来有四种方式: 1.外部文件引用方式;(推荐使用) 2.使用@import引用外部CSS文件; 3.内部文档头方式也叫内嵌法调用; 4.直接插入式 ...
- CSS 选择器及各样式引用方式
Css :层叠样式表 (Cascading Style Sheets),定义了如何显示HTML元素. 目录 1. 选择器的分类:介绍ID.class.元素名称.符合.层次.伪类.属性选择器. 2. 样 ...
- css中的继承、层叠、样式优先级机制
一.继承与层叠:
- CSS的引用方式(引用外部样式表、内部样式表、内联样式表)
CSS引用外部样式表的优点:一般的浏览器都带有缓存功能,所以用户不用每次都下载此CSS文件,所以外部引用相对于内部引用和内联引用来说是是节省资源的. CSS使用内部样式表.内联样式表的优点:可以直观的 ...
- css的两种引用方式 link和@import
学习web开发的最大乐趣就是不断的发现自己以前不曾见过的东西,这些东西对于我来说是那么的新鲜有趣. 比如说今天偶尔研究别人的网站,就发现了有趣的东东. 当点开此网页的css时(这个css文件命名方式就 ...
- css考核点整理(二)-css层叠机制
css层叠机制 外边距重叠就是margin-collapse. 在CSS当中,相邻的两个盒子(可能是兄弟关系也可能是祖先关系)的外边距可以结合成一个单独的外边距.这种合并外边距的方式被称为折叠,并且因 ...
- css层叠机制说明
css通过建立与文档的关联而实施效果.文档结构重要性不言而喻,对于建立良好的内容索引.提高可维护性.较好的可访问性:另,利于css选择器选择.继承机制. 概要地讲,层叠机制是处理对文档上应用样式时解决 ...
随机推荐
- 微软推荐的.net命名规范
许多命名约定都与标识符的大小写有关.值得注意的是,公共语言运行库 (CLR) 支持区分大小写和不区分大小写的语言.本主题中描述的大小写约定可帮助开发人员理解和使用库. 大小写样式 下列术语描述了标识符 ...
- VS2012发布网站详细步骤问题
http://blog.csdn.net/mrobama/article/details/43118387
- SpringBoot相关错误
1.org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V 搭建spr ...
- http 四大特征
- 利用python进行数据加载和存储
1.文本文件 (1)pd.read_csv加载分隔符为逗号的数据:pd.read_table从文件.URL.文件型对象中加载带分隔符的数据.默认为制表符.(加载为DataFrame结构) 参数name ...
- 协议形式化分析Scyther 资料整理
1.性能分析 目前来说形式化的分析已经成为安全协议的一种很流行的方法,但是每种工具都用其不同适合的协议,Scyther软件是一种形式化分析工具,极大的促进了协议的分析和设计,scyther工具在运行界 ...
- 学习java23种设计模式自我总结
首先先做个广告,以前看过@maowang 这位大神转的Java开发中的23种设计模式详解(转) ,但是看了之后都忘差不多了, 所以,开个帖子边学习边自我总结(纯手敲).一直以来像这种需要长久的运动,真 ...
- shell判断进程是否存在
#!/bin/bash #进入rest所有目录,后续在此目录执行动作 cd /data/www/vhosts/go/ #rest的进程数,由于脚本名称为restart_rest.sh,所以排除了对re ...
- Ubuntu 18.04 安装MySQL
最近在写东西的时候,需要用到MySQL,在网上查了一下,都说Ubuntu18.04不能安装MySQL5.7.22, 总觉的不可能,所以自己就研究了一下,然后分享给大家 工具/原料 VMware W ...
- .net core ef 通过dbfirst方式连接sql server数据库
1. 创建基于.net core 的项目(过程略) 2. 使用nuget添加引用 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore ...