刚才写zenktodo的时候,通过动态添加class的方式修改一个div的样式,总是不起作用。
#navigator {
height: 100%;
width: 200;
position: absolute;
left: 0;
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0;
}
查找一些教材中(w3schools等),只说css的顺序是“元素上的style” > “文件头上的style元素” >“外部样式文件”,但对于样式文件中的多个相同样式的优先级怎样排列,没有详细说明。经过测试和继续搜索,得知优先级如下排列:
1. 样式表的元素选择器选择越精确,则其中的样式优先级越高:
id选择器指定的样式 > 类选择器指定的样式 > 元素类型选择器指定的样式
所以上例中,#navigator的样式优先级大于.current_block的优先级,即使.current_block是最新添加的,也不起作用。
2. 对于相同类型选择器指定的样式,在样式表文件中,越靠后的优先级越高
注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2 在样式表中出现在.class1之后:
.class1 {
color: black;
}
.class2 {
color: red;
}
而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。
3. 如果要让某个样式的优先级变高,可以使用!important来指定:
.class1 {
color: black !important;
}
.class2 {
color: red;
}
此时class将使用black,而非red。
对于一开始遇到的问题,有两种解决方案:
1. 将border从#navigator中拿出来,放到一个class .block中,而.block放到.current_block之前:
#navigator {
height: 100%;
width: 200;
position: absolute;
left: 0;
}
.block {
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0;
}
需要默认为#navigator元素指定class="block"
2. 使用!important:
#navigator {
height: 100%;
width: 200;
position: absolute;
left: 0;
border: solid 2 #EEE;
}
.current_block {
border: solid 2 #AE0 !important;
}
此时无需作任何其他改动即可生效。可见第二种方案更简单一些。
分享到:
相关推荐
**CSS样式表中文手册** ...以上是对"CSS样式表中文手册"中可能涵盖的关键点的简要介绍。通过深入学习和实践,你可以掌握CSS,从而构建美观、功能丰富的网页。记得查阅提供的CHM文件,它将提供更详尽的解释和示例。
在本形考任务中,我们将探讨如何利用HTML的`<div>`元素以及CSS样式表来实现页面布局设计。`<div>`元素是HTML中的一个非常重要的结构元素,它用于组合其他HTML元素,形成一个可样式的区块。在这个任务中,我们将深入...
**CSS样式表详解** CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。它的主要作用是增强对网页内容的控制,使得内容和表现分离,提高了网页设计的...
什么是CSS? 中文翻译为样式表! 它的作用简单的说:就是可以使...各种将样式表加入到HTML文本中的方法。 依赖样式表 怎样会是滥用样式表和使你的网页难以处理。 CSS 参考 连接到介绍CSS的规范和其它方面的文章。
《CSS样式表中文手册》是学习网页设计与前端开发的重要参考资料,主要涵盖了CSS(Cascading Style Sheets)的全面知识,旨在帮助用户理解和掌握CSS语言,实现网页的美化与布局控制。这个手册可能是以CHM(Compiled ...
CSS 样式表高效使用的技巧是指在网页设计中,如何充分利用 CSS 的强大性和灵活性来提高网页的维护更新效率和可读性。以下是五个高效使用 CSS 的技巧: 1. 在一个网页中同时调用 CSS 的多种引入方式 在 HTML 中引入...
【CSS样式表】是网页设计中的重要组成部分,全称为Cascading Style Sheets,它用于分离网页内容(HTML或XML等)与表现样式。通过CSS,我们可以精确地控制网页元素的布局、字体、颜色、背景、边框以及定位,实现更...
**CSS2.0样式表中文手册** CSS,全称Cascading Style Sheets,是一种用于描述HTML或XML(包括如SVG、MathML等各种XML方言)文档样式的样式表语言。CSS2.0是其第二个主要版本,发布于1998年,它极大地增强了网页设计...
《CSS样式表中文手册系列——苏沈小雨》是一份极具价值的学习资源,专为对CSS(Cascading Style Sheets)感兴趣的初学者和进阶者设计。这份手册深入浅出地介绍了CSS的核心概念、语法以及实际应用技巧,帮助读者全面...
此外,CSS3还支持样式层叠,这意味着可以从多个样式表中合并样式,以实现优先级控制。 **CSS3的种类** 1. **内联样式表**:将样式直接写在HTML元素内部,使用`style`属性,如`;">`。这种方式针对性强,但不推荐大量...
《CSS样式表参考手册》是Web开发者不可或...以上是CSS样式表参考手册中的一些关键知识点,深入理解和掌握这些概念,将有助于创建高效、优雅的网页设计。实际应用中,结合HTML文件,我们可以实现更丰富的网页表现效果。
在这个《CSS样式表中文手册2.0》中,我们将深入探讨这个版本中的各种概念、规则和用法。 首先,**选择器**是CSS的核心部分,它们用于定位文档中需要应用样式的元素。在CSS2.0中,不仅支持基础的选择器如ID选择器(#...
《CSS样式表手册全集chm》是苏昱创作的一部关于网页设计的重要参考资料,它全面涵盖了CSS(Cascading Style Sheets)的核心概念、语法以及实际应用。此手册旨在帮助网页设计师和开发者深入理解并熟练掌握CSS技术,...
此外,CSS允许层叠多个样式定义,具有明确的优先级顺序:内联样式(最高优先级)、内部样式表、外部样式表和浏览器默认样式。这种层叠机制确保了在样式冲突时,优先级高的样式生效。 CSS的语法结构简洁明了,由选择...
**CSS层叠样式表简介** CSS(Cascading Style Sheets)是一种用于描述HTML或XML(包括SVG、MathML等各种XML方言)文档样式的样式表语言。它的主要作用是将表现和内容分离,使得网页设计更加灵活,易于维护。在传统...
在“北大青鸟CSS样式表”课程中,我们将深入探讨这一强大的技术。 **一、CSS基本概念** 1. **选择器与声明**:CSS的核心在于选择器和声明。选择器用于定位HTML元素,声明则定义元素的样式属性和值,如`color:red;`...
这个“CSS样式表授课PPT”包含了对这一关键技能的深入讲解,分为两部分:第一课——Css 样式基本知识和第二课——在网页中使用Css样式。 ### 第一课:Css 样式基本知识 1. **定义和用途**:CSS是用于分离网页内容...