Javascript 斜体字体样式不适用于元素';s类属性

Javascript 斜体字体样式不适用于元素';s类属性,javascript,html,css,Javascript,Html,Css,我正在做一个简单的练习:通过将元素与类关联来更改字体样式 代码片段 var divad=document.getElementById(“divad”); divAdvert.className=“newStyle” #divader{ 字体:12pt arial; } .新闻风格{ 字体:斜体; 文字装饰:下划线; } 这是一个广告您已经使用#divadve定义了CSS的字体属性,它比您的.newStyle更受欢迎,它只有字体样式,因此如果您想添加/更改CSS中的任何子属性,您需要在下面定义

我正在做一个简单的练习:通过将元素与
类关联来更改
字体样式

代码片段
var divad=document.getElementById(“divad”);
divAdvert.className=“newStyle”
#divader{
字体:12pt arial;
}
.新闻风格{
字体:斜体;
文字装饰:下划线;
}

这是一个广告
您已经使用
#divadve
定义了CSS的
字体
属性,它比您的
.newStyle
更受欢迎,它只有
字体样式
,因此如果您想添加/更改CSS中的任何子属性,您需要在下面定义为我的代码片段:

代码片段
var divad=document.getElementById(“divad”);
divAdvert.className=“newStyle”
#divader{
字号:12号;
字体系列:“Arial”,无衬线;
}
.新闻风格{
字体:斜体;
文字装饰:下划线;
}

这是一则广告
我认为此链接将帮助您并为您的问题提供另一种解释

你有什么问题吗

.wider
的特异性为
0,0,1,0
,而
#normal
的特异性为
0,1,0,0
。除了ID(或内联定义,但这里的情况并非如此)之外,您不能用任何东西来击败ID

如果您不能将所需的
width
声明放在
#normal
选择器中,我建议您将其放在
#normal.width
中,或者,如果这两者都不可能,请在层次结构中尽可能高的位置(可能在主体上有一个ID?)并将
.wide
替换为
#container.wide
。此新选择器的特异性为
0,1,1,0
,略高于
0,1,0,0

使用
!重要提示
也可以,但只能作为最后手段使用

例如:

<div id="container" class="wrapper">
<div id="normal" class="wider">
</div>

ID上的
字体
样式优先于类上的
字体
样式。你的意思是这样吗@eisbehrth似乎并没有真正回答这个问题。你说“
.wider
具有
0,0,1,0
的特异性,而
#normal
具有
0,1,0,0
”。但是问题中没有
更宽的
正常的
。这就是@Pang提到的问题的答案
    CSS Selector         -> Specificity
---------------------------------------
#container #normal   -> 0,2,0,0
#container .wider    -> 0,1,1,0 // These two have the same specificity so
#normal.wider        -> 0,1,1,0 // the last declared value will be used
#normal              -> 0,1,0,0
.wrapper .wider      -> 0,0,2,0
.wider               -> 0,0,1,0