`

CSS选择器优先级问题

    博客分类:
  • css
阅读更多

今天写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 行)
.content_area {
     display block ;
}

二,问题的解决

1.首先很显然是CSS选择器的优先级问题

2.我们一般都会清楚 特别指定优先级>通配符优先级  ,例如 .class > *,按这个原则不可能出现上述问题

3.但大家会很注意另一个重要的原则  ID>.Class 么?   也就是上述的  #tab_area * >.content_area

4.所以将#tab_area 改成了CLASS的表达形式,firedebug结果如下:

.content_area {
     display block ;
}
                      tab.css (第 56 行)
.tab_area_style * {
     background-color red ;
     border-top 0 none ;
     color white ;
     display none ;
     height 100px ;
     margin-top 2px ;
     width 600px ;
}

5.搞定了,以后对CSS的选择器优先级问题一定要重视!!

0
0
分享到:
评论

相关推荐

    关于CSS选择器优先级的判断题附结果截图

    理解CSS选择器优先级是编写高效、可维护CSS代码的关键。以下是关于CSS选择器优先级的一些详细说明: 首先,CSS选择器的优先级由四个部分组成,每个部分对应一个权重值: 1. ID选择器(#id):每个ID选择器的权重为...

    CSS选择器权重计算及优先级

    以下是关于CSS选择器权重计算及优先级的详细解释: 首先,我们要了解CSS选择器的四个等级及其对应权重: 1. **内联样式**(权重1000):这是最高级别的权重,当直接在HTML元素中使用`style`属性定义样式时,例如`;...

    CSS标签选择器优先级.pdf

    CSS选择器优先级详解 CSS选择器优先级是CSS样式表中一个非常重要的概念,它决定了CSS样式的应用顺序和优先级。本文将详细介绍CSS选择器优先级的四大原则,以及它们之间的关系和应用。 原则一:继承不如指定 如果...

    CSS中选择器优先级顺序实战讲解.pdf

    本文将详细解析CSS选择器优先级的实战应用,帮助开发者理解并解决样式覆盖的问题。 首先,我们要了解CSS选择器的四种基本类型,它们的优先级顺序如下: 1. **行内样式 (inline styles)**:这是最高优先级,通过`...

    css样式应用优先级实用PPT课件.pptx

    id选择器的优先级高于类选择器和元素选择器。 4. 类(属性、伪类)选择器 类选择器用于选择具有特定class的元素。例如:.header{ display:none;} &lt;div class="header"&gt;&lt;/div&gt;。 属性选择器用于选择具有特定属性的...

    css优先级总结

    选择器优先级是指不同类型的CSS选择器在样式冲突时所具有的优先顺序。按照优先级从高到低排序如下: - 内联样式(style属性):权值为1000 - ID选择器:权值为100 - 类选择器(class)、属性选择器、伪类:权值为10...

    css样式优先级比较实例

    CSS选择器的权重分为四类:内联样式、ID选择器、类选择器/属性选择器/伪类、以及元素选择器/伪元素。它们对应的权重分别是: 1. 内联样式(如`style="..."`):1000 2. ID选择器(如`#example`):100 3. 类选择器/...

    CSS选择器.pdf

    在CSS选择器的体系中,存在多种不同类型的选择器,每种都有其特定的用途和使用场景。 首先,元素选择符是最基本的类型,包括通配符选择器、标签选择器、id选择器和class选择器。通配符选择器用“*”表示,可以选中...

    深入理解CSS选择器优先级

    本文将深入探讨CSS选择器优先级,通过八个实例来帮助你更好地理解这个概念。 首先,我们要明确一点,类的覆盖顺序并不取决于它们在HTML中的引用顺序,而是取决于它们在CSS文件中定义的顺序。例如,如果有两个类选择...

    react-React组件的css选择器

    6. **选择器优先级** 在React组件中,理解CSS选择器的优先级至关重要。内联样式(style属性)的优先级最高,接着是ID选择器,然后是类选择器、属性选择器和元素选择器。合理利用优先级可以更好地控制组件的样式覆盖...

    css选择器优先级深入理解

    理解CSS选择器的优先级规则,对于控制页面布局和样式的具体表现至关重要。 首先,需要明确的是CSS中存在基础选择器和组合选择器,以及属性选择器。基础选择器包括标签选择器、类选择器、id选择器和通用选择器。组合...

    HTML5&CSS3网页制作:CSS优先级.pptx

    在网页制作中,HTML5和...总结来说,CSS优先级是决定网页元素样式效果的关键因素,包括继承、行内样式、选择器权重以及`!important`指令。通过深入理解和熟练运用这些概念,开发者能够更加高效地控制网页的视觉呈现。

    使用DIV+CSS做网站时CSS样式的优先级

    但是,在使用 CSS 样式时,不能忽视 CSS 样式的优先级问题。 CSS 样式的优先级是指在多个样式规则同时作用于同一个元素时,浏览器如何决定采用哪一个样式规则。一般来说,CSS 样式的优先级顺序是:[1 位重要标志位]...

    解决CSS样式冲突的几个办法(小结)

    通过使用组合器(Combinator)将选择器的描述写得更加精确(参考CSS选择器 – MDN ),例如对于下述代码片段,如果想给.cellphones中的.apple增加样式,只使用.apple,势必会对.fruit中的.apple也造成影响。...

    ylsislove#make-a-little-progress-every-day#前端-CSS选择器优先级1

    声明在样式表或文档中越靠后出现,权重越大。如果样式表中有通过 @import 导入的样式表,一般认为出现在导入样式表中的声明在前,主样式表的所有声明在后。

    详解CSS中的选择器优先级顺序

    了解并熟练运用CSS选择器优先级顺序,可以帮助开发者更精确地控制元素的样式,避免不必要的样式冲突,从而提高代码的可读性和维护性。在实际开发中,尽量减少对 `!important` 的依赖,因为它会使代码难以管理和调试...

    CSS优先级总结.pdf

    在CSS中,有多种选择器可以用来指定样式规则,每种选择器都有其自己的优先级。以下是常见的选择器和它们的优先级: 1. !important:高于所有其他选择器的优先级 2. ID选择器 (#ID):高于类选择器和元素选择器的...

    css样式应用优先级实用PPT学习教案.pptx

    - **ID选择器**: 使用`#`标识符,如`#header`,优先级高于类选择器和属性选择器。 - **类选择器**: 使用`.`标识符,如`.header`,应用于具有指定类的元素。 - **属性选择器**: 使用`[]`,如`div[title]`,根据...

Global site tag (gtag.js) - Google Analytics