如何在另一个div中删除div的样式css



我对css有点问题。

我有一个css,它是由另一个里面的代码生成的。我无法更改css文件。

我需要去掉这种风格。有可能吗?

<div class="1">
#Generated by code
<div class="2" style="xxxxxxxx">
This text is bold now. Cause of the style. I need normal!
</div>
#Generated by code
</div>

有什么我能做的吗??

谢谢:)

为什么不使用javascript?

<body onload="myFunction()">
<div class="1">
#Generated by code
<div class="2" style="xxxxxxxx">
This text is bold now. Cause of the style. I need normal!
</div>
#Generated by code
</div>
<script>
function MyFunction 
{
document.getElementsByClassName("2").style.blabla;
}
</script>

甚至使用

<style>
.2
{
width:50px;
}
</style>

使用前面提到的JavaScript是实现所需行为的好方法。但根据MDN

document.getElementsByClassName()

返回一个类似数组的结构。因此正确的语法将是

document.getElementsByClassName('2')[0].style.fontWeight = 'normal';

或使用完全删除样式属性

document.getElementsByClassName('2')[0].removeAttribute('style');

您可以创建另一个CSS文件,并尝试为应用于div的样式设置更高的specificity。如果将ID设置为div,并应用新CSS样式表中的样式,则它具有最高的specificity

如果你能做到的话,尽量避免使用!important exception,为div设置更高的新CSS风格特异性。使用!important exception被认为是一种糟糕的做法,因为他们把它放在了网页上:

使用!重要的是不好的做法,应该避免,因为它会破坏样式表中的自然级联,从而使调试更加困难。

问题是内联样式覆盖了外部样式表的所有样式,因此您可能不得不在此处使用!important exception

添加到元素的内联样式(例如,style="font-weight:bold")总是覆盖外部样式表中的任何样式,因此可以被认为具有最高的特异性。

您可以使用!important进行以下操作:

<div class="_1">
#Generated by code
<div class="_2" style="font-weight: normal !important;">
This text is bold now. Cause of the style. I need normal!
</div>
#Generated by code
</div>

或者你可以创建一个新的CSS文件,将其包含到你的模板中。在你的CSS中,你放了一些类似的东西:

._1 > ._2 {
font-weight: normal !important;
}

请注意,标识符不能以数字开头,所以必须在其上加一个字母或下划线,就像CSS中的_1一样,它会是._1 { }吗。阅读这篇文章:CSS标识符允许的字符

根据下面@Error404的评论:内联样式上不需要!important异常。正如MDN所说,添加到元素中的内联样式(例如,style="font-weight:bold")总是覆盖外部样式表中的任何样式,因此可以被认为具有最高的特异性。

阅读更多:https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#The_!important_exception。还有一个来自@Error404的答案,其中包含有关此问题的更多详细信息(此答案下方或上方)

请参阅工作小提琴:https://jsfiddle.net/o24jww1b/1/

您可以使用jquery来完成此操作使用这个

<script>
$(document).ready(function(){
$("._2").css("font-size", "normal");
});
</script>

相关内容

  • 没有找到相关文章

最新更新