今天写JQuery的时候遇到了一个问题,让我对CSS选择器的优先级有了进一步的重视:
一.问题的发生
1.看过我前一个博客的人知道我用JQuery写了一个竖排的Tab,后期我试着将Tab的body用iframe引用,所以我"标签1下的内容"变成了iframe,代码如下:
<div id="tab_area" class="tab_area_style">
<iframe class="content_area" src="content1.html" frameborder="0" >
</iframe>
<div>标签2下内容</div>
<div>标签3下内容</div>
2.改过之后实际上很简单的鼠标over页签1时iframe引入的content1.html就应该显示(content1.html很简单,只有hello world一句话),但很奇怪,就是不显示,后来我查询了css.
#tab_area *
{ ------------------------------->意思是id为tab_area下的所有标签的CSS样式
width:600px;
height:100px;
background-color:red;
border-top:0px;
color:white;
display:none;
margin-top:2px;
}
.content_area
{ ------------------------------->意思是为iframe指定特别的样式,覆盖上面CSS中的display:none为display:block
display:block;
}
3.可是结果是iframe出不来,用firedebug看了一下,CSS解析的结果为:display:block被覆盖
#tab_area *
{
background-color
:
red
;
border-top
:
0 none
;
color
:
white
;
display
:
none
;
height
:
100px
;
margin-top
:
2px
;
width
:
600px
;
}
tab.css (第 47 行)
二,问题的解决
1.首先很显然是CSS选择器的优先级问题
2.我们一般都会清楚 特别指定优先级>通配符优先级 ,例如 .class > *,按这个原则不可能出现上述问题
3.但大家会很注意另一个重要的原则 ID>.Class 么? 也就是上述的 #tab_area * >.content_area
4.所以将#tab_area 改成了CLASS的表达形式,firedebug结果如下:
.tab_area_style *
{
background-color
:
red
;
border-top
:
0 none
;
color
:
white
;
display
:
none
;
height
:
100px
;
margin-top
:
2px
;
width
:
600px
;
}
5.搞定了,以后对CSS的选择器优先级问题一定要重视!!
分享到:
相关推荐
理解CSS选择器优先级是编写高效、可维护CSS代码的关键。以下是关于CSS选择器优先级的一些详细说明: 首先,CSS选择器的优先级由四个部分组成,每个部分对应一个权重值: 1. ID选择器(#id):每个ID选择器的权重为...
以下是关于CSS选择器权重计算及优先级的详细解释: 首先,我们要了解CSS选择器的四个等级及其对应权重: 1. **内联样式**(权重1000):这是最高级别的权重,当直接在HTML元素中使用`style`属性定义样式时,例如`;...
CSS选择器优先级详解 CSS选择器优先级是CSS样式表中一个非常重要的概念,它决定了CSS样式的应用顺序和优先级。本文将详细介绍CSS选择器优先级的四大原则,以及它们之间的关系和应用。 原则一:继承不如指定 如果...
本文将详细解析CSS选择器优先级的实战应用,帮助开发者理解并解决样式覆盖的问题。 首先,我们要了解CSS选择器的四种基本类型,它们的优先级顺序如下: 1. **行内样式 (inline styles)**:这是最高优先级,通过`...
id选择器的优先级高于类选择器和元素选择器。 4. 类(属性、伪类)选择器 类选择器用于选择具有特定class的元素。例如:.header{ display:none;} <div class="header"></div>。 属性选择器用于选择具有特定属性的...
选择器优先级是指不同类型的CSS选择器在样式冲突时所具有的优先顺序。按照优先级从高到低排序如下: - 内联样式(style属性):权值为1000 - ID选择器:权值为100 - 类选择器(class)、属性选择器、伪类:权值为10...
CSS选择器的权重分为四类:内联样式、ID选择器、类选择器/属性选择器/伪类、以及元素选择器/伪元素。它们对应的权重分别是: 1. 内联样式(如`style="..."`):1000 2. ID选择器(如`#example`):100 3. 类选择器/...
在CSS选择器的体系中,存在多种不同类型的选择器,每种都有其特定的用途和使用场景。 首先,元素选择符是最基本的类型,包括通配符选择器、标签选择器、id选择器和class选择器。通配符选择器用“*”表示,可以选中...
本文将深入探讨CSS选择器优先级,通过八个实例来帮助你更好地理解这个概念。 首先,我们要明确一点,类的覆盖顺序并不取决于它们在HTML中的引用顺序,而是取决于它们在CSS文件中定义的顺序。例如,如果有两个类选择...
6. **选择器优先级** 在React组件中,理解CSS选择器的优先级至关重要。内联样式(style属性)的优先级最高,接着是ID选择器,然后是类选择器、属性选择器和元素选择器。合理利用优先级可以更好地控制组件的样式覆盖...
理解CSS选择器的优先级规则,对于控制页面布局和样式的具体表现至关重要。 首先,需要明确的是CSS中存在基础选择器和组合选择器,以及属性选择器。基础选择器包括标签选择器、类选择器、id选择器和通用选择器。组合...
在网页制作中,HTML5和...总结来说,CSS优先级是决定网页元素样式效果的关键因素,包括继承、行内样式、选择器权重以及`!important`指令。通过深入理解和熟练运用这些概念,开发者能够更加高效地控制网页的视觉呈现。
但是,在使用 CSS 样式时,不能忽视 CSS 样式的优先级问题。 CSS 样式的优先级是指在多个样式规则同时作用于同一个元素时,浏览器如何决定采用哪一个样式规则。一般来说,CSS 样式的优先级顺序是:[1 位重要标志位]...
通过使用组合器(Combinator)将选择器的描述写得更加精确(参考CSS选择器 – MDN ),例如对于下述代码片段,如果想给.cellphones中的.apple增加样式,只使用.apple,势必会对.fruit中的.apple也造成影响。...
声明在样式表或文档中越靠后出现,权重越大。如果样式表中有通过 @import 导入的样式表,一般认为出现在导入样式表中的声明在前,主样式表的所有声明在后。
了解并熟练运用CSS选择器优先级顺序,可以帮助开发者更精确地控制元素的样式,避免不必要的样式冲突,从而提高代码的可读性和维护性。在实际开发中,尽量减少对 `!important` 的依赖,因为它会使代码难以管理和调试...
在CSS中,有多种选择器可以用来指定样式规则,每种选择器都有其自己的优先级。以下是常见的选择器和它们的优先级: 1. !important:高于所有其他选择器的优先级 2. ID选择器 (#ID):高于类选择器和元素选择器的...
- **ID选择器**: 使用`#`标识符,如`#header`,优先级高于类选择器和属性选择器。 - **类选择器**: 使用`.`标识符,如`.header`,应用于具有指定类的元素。 - **属性选择器**: 使用`[]`,如`div[title]`,根据...