失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > css选择器有哪些优先级呢 css指定多个属性时区分顺序吗 – CSS – 前端 jquery animate css3

css选择器有哪些优先级呢 css指定多个属性时区分顺序吗 – CSS – 前端 jquery animate css3

时间:2020-01-03 10:03:32

相关推荐

css选择器有哪些优先级呢 css指定多个属性时区分顺序吗 – CSS – 前端 jquery animate css3

浏览器解析html文档是自上而下的,如果将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘,这是一种不好的用户体验。

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

css文件应该放在HTML顶部的head中。

why?

link标签里面的href(HyperText reference)属性表示超文本引用,当CSS使用href引用,浏览器会识别该文档为CSS,并行下载,不会停止对当前文档的加载,在加载html生成DOM tree的时候,就可以同时对DOM tree进行渲染,这样可以防止闪跳,白屏或者布局混乱。

最理想的情况,大家希望浏览器逐渐的渲染下载好的CSS,将页面逐渐的展现给用户。但是浏览器为了避免样式变化时重新渲染绘制页面元素,会阻塞内容逐步呈现,浏览器等待所有样式加载完成之后才一次性渲染呈现页面。

CSS文件如果放置底部,浏览器阻止内容逐步呈现,浏览器在等待最后一个css文件下载完成的过程中,就出现了“白屏”(新打开连接时为白屏,尔后先出现文字,图片,样式最后出现)。这点非常严重,因为在网速非常慢的情况下,css下载时间比较长,这样就给用户带来“白屏”的时间自然也就很长了,用户体验非常差。

CSS文件放在顶部一方面是因为放置顺序决定了下载的优先级,更关键的是浏览器的渲染机制。

css在加载过程中不会影响到DOM树的生成,但是会影响到Render树的生成,进而影响到layout,所以一般来说,style的link标签需要尽量放在head里面,因为在解析DOM树的时候是自上而下的,而css样式又是通过异步加载的,这样的话,解析DOM树下的body节点和加载css样式能尽可能的并行,加快Render树的生成的速度。

将CSS放在底部,页面可以逐步呈现,但在CSS下载并解析完毕后,已经呈现的文字和图片就要需要根据新的样式重绘,这是一种不好的用户体验。

css 样式表分类

一,样式表分类

(1)内联样式【优先级最高】【常用】【代码重复使用性最差】

(当特殊的样式需要应用到个别元素时,就可以使用内联样式。 使用内联样式的方法是在相关的标签中使用样式属性。样式属性可以包含任何 CSS 属性。)

(2)内嵌样式表【优先级第二】【最不常用】【代码重复使用性一般】

(当单个文件需要特别样式时,就可以使用内嵌样式表。你可以在 head 部分通过 <style> 标签定义内部样式表。)

(3)外部样式表【优先级最低】【最常用】【代码重复使用性最好】

(当样式需要被应用到很多页面的时候,外部样式表将是理想的选择。使用外部样式表,你就可以通过更改一个文件来改变整个站点的外观。)

I。先创建一个样式表

II。写入样式表内容,调整样式表位置

二。选择器

每一条css样式定义由两部分组成,形式如下:

选择器

{样式}

在{}之前的部分就是“选择器”。

“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。

选择器是选择器,外部样式表只是代码位置

(1)类别选择器( class选择器)【第二优先级】【最常用】

前面以"." 来标志,如:

.d1

{

color:red;

}

在HTML页中:

【1】<div;>文字</div> 文字颜色为红色

【2】<p;>文字</p >文字颜色为红色

定义了一个class类,将样式应用到了元素中。

(2)id选择器【第一优先级】【最常用】

前面以"#"来标志,如:

#d2

{

color:blue;

}

在HTML页中:

<div>文字</div>文字颜色变为蓝色【id选择器优先级高于类别选择器】

(3)标签选择器(根据标签名选择)【第三优先级】【如果同时出现类别选择器和id选择器,按照优先级来及执行】【最不常用】

前面以"标签名"来标志,如:

div

{

color:red;

}

在HTML页中:

<div>文字<div>文字颜色变为红色

(4)复合选择器【有id第一优先级/都是类别选择器第二优先级】【最最常用】

[1]群组选择器

当几个元素样式属性一样时,可以共同调用一个声明,元素之间用逗号分隔。

.d1,#d2

{

color:red;

}

在HTML页中:

【1】<div;>文字</div> 文字颜色为红色

【2】<p;>文字</p >文字颜色为红色

使用群组选择器,将会大大的简化CSS代码,将具有多个相同属性的元素,合并群组进行选择,定义同样的CSS属性,这大大的提高了编码效率,同时也减少了CSS文件的体积。

[2]后代选择器

后代选择器也称为包含选择器,用来选择特定元素或元素组的后代,将对父元素的选择放在前面,对子元素的选择放在后面,中间加一个空格分开。

.d1 #d2

{

color:blue;

}

在HTML页中:

<div>文字</div>文字颜色变为蓝色

后代选择器是一种很有用的选择器,使用后代选择器可以更加精确的定位元素。

优先级:内联式 > 嵌入式 > 外部式

对于同一个元素大家同时用了三种方法设置css样式,那么哪种方法真正有效呢?在下面代码中就出现了这种情况

1、使用内联式CSS设置“超酷的互联网”文字为粉色。

2、然后使用嵌入式CSS来设置文字为红色。

3、最后又使用外部式设置文字为蓝色(style.css文件中设置)。

如果觉得《css选择器有哪些优先级呢 css指定多个属性时区分顺序吗 – CSS – 前端 jquery animate css3》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。