首页技术四种css样式优先级顺序,css选择器优先级顺序

四种css样式优先级顺序,css选择器优先级顺序

编程之家2026-05-18741次浏览

大家好,关于四种css样式优先级顺序很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于css选择器优先级顺序的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

四种css样式优先级顺序,css选择器优先级顺序

CSS样式的四种调用方式有什么不同优先级有什么不同

在HTML中常用以下三种方式定义CSS:embedding(嵌入式)、linking(外部引用式)和inline(内联式,也称行内样式)。

一:嵌入式

用户可在HTML文档头部定义多个style元素,实现多个样式表。

二:外部引用式

①可以在多个文档间共享样式表,对于较大规模的网站,将CSS样式定义独立成一个一个的文档,可有效地提高效率,并有利于对网站风格的维护。

②可以改变样式表,而无需更改HTML文档,这也与HTML语言内容与形式分开的原则相一致。

四种css样式优先级顺序,css选择器优先级顺序

③可以根据介质有选择的加载样式表。

三:内联式

使用该属性可以直接指定样式,当然,该样式仅能用于该元素的内容,对于另一个同名的元素则不起作用。

优先级:

内联式>内嵌式>外部引用式

css选择器有哪些各种选择器优先级大小顺序

CSS选择器如下:

四种css样式优先级顺序,css选择器优先级顺序

1.

标签名选择器

div

{

color:Red;}

/即页面中的各个标签名的css样式

2.类选择器

.divClass

{color:Red;}

/即定义的每个标签的class

中的css样式

3.ID选择器

#myDiv

{color:Red;}

/即页面中的标签的id

4.后代选择器(类选择器的后代选择器)

.divClass

span

{

color:Red;}

/即多个选择器以逗号的格式分隔

命名找到准确的标签

5.群组选择器

div,span,img

{color:Red}

/即具有相同样式的标签分组显示

选择器的优先级

1.最高优先级是

(直接在标签中的设置样式,假设级别为1000)

2.次优先级是(ID选择器

,假设级别为100)

#myDiv{color:Red;}

3.其次优先级是(类选择器,假设级别为10)

.divClass{color:Red;}

4.最后优先级是

(标签选择器,假设级别是

1)

div{color:Red;}

5.那么后代选择器的优先级就可以计算了啊

比如

.divClass

span

{

color:Red;}

优先级别就是:10+1=11

css基础问题

先解释一下网页添加css样式的方法,一共有四种,分别是:

一、内嵌样式——直接在页面的标签里加<div style="border:1px red solid;">测试信息</div>

二、内部样式表——在head部分加入<style type="text/css">div{margin: 0;padding: 0;border:1px red solid;}</style>

三、链入外部样式表——在head部分加入<link rel="stylesheet" type="text/css" rel="external nofollow" href="my.css" media="all"/>,引入外部的CSS文件

四、导入外部样式表——在head部分加入<style type="text/css">@import url(my.css);</style>

样式表的优先级顺序从高到低依次为:内嵌样式>内部样式表>导入外部样式表(其实是属于内部样式表)

链入外部样式表与内部样式表之间的优先级取决于所处位置的先后,最后定义的优先级最高。

本文主要是做@import导入样式表与link链入样式表的区别探讨,所以其他的不做详谈。

1.链入外部样式表

链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下:

<head>

……

<link rel="external nofollow" href="mystyle.css" rel="stylesheet" type="text/css" media="all">

……

</head>

面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。

type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类型,这些媒

体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。

2.导入外部样式表

导入外部样式表是指在内部样式表的<style>里导入一个外部样式表,导入时用@import,看下面这个实例:

<head>

……

<style type=”text/css”>

<!--

@import“mystyle.css”

其他样式表的声明

-->

</style>

……

</head>

例中@import“mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。方法和链入样式表的方法很相似,实质上它相当于存在内部样式表中的。

注意:导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。

综合度娘的多篇文章和个人理解,两者的区别总结如下:

1:老祖宗的差别。link属于XHTML标签,而@import完全是CSS提供的一种方式。

link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性,等,@import就只能加载CSS了。

2:

加载时间及顺序不同。使用link链接的css是客户端浏览你的网页时先将外部的CSS文件加载到网页当中,然后再进行编译显示,所以这种情况下显示出来

的网页跟我们预期的效果一样,即使一个页面link多个css文件,网速再慢也是一样的效果;而使用@import导入的CSS就不同了,客户端在浏览网

页时是先将html的结构呈现出来,再把外部的CSS文件加载到网页当中,当然最终的效果也是跟前者是一样的,只是当网速较慢时会出现先显示没有CSS统

一布局时的html网页,这样就会给阅读者很不好的感觉。这也是现在大部分网站的CSS都采用链接方式的最主要原因。

3:兼容性不同。由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。

4:使用dom控制样式时出现问题。当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。

5:

导入样式可以避免过多页面指向一个css文件。当网站中使用同一个CSS文件的页面不是非常多时,这两种方式在效果方面几乎是没有不同的,但网站的页面数

达到一定程度时(比如新浪等门户),如果采用链接的方式可能就会使得由于多个页面调用同一个CSS文件而造成速度下降,但是一般页面能达到这种程度的网站

也会有资本用最好的硬盘,所以这方面的因素也不用怎么担心。

综上所述,一般普通的站点在调用外部样式表的时候,还是尽量选择link链入外部样式表比较好。关于区别中第二点的加载顺序的差别中,找到一个国外的参考文章作为补充资料:

关于本次四种css样式优先级顺序和css选择器优先级顺序的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

开源内容管理系统,10大开源文档管理系统免费数据库工具(免费数据库设计工具)