我对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>
我能做些什么吗?
谢谢:)
答案 0 :(得分:0)
为什么不使用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>
答案 1 :(得分:0)
您可以使用!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 { }
。在这篇文章中阅读:Allowed characters for CSS identifiers根据以下@ Error404的评论:
!important
内联样式不需要例外。正如MDN所说,添加到元素的内联样式(例如,style =“font-weight:bold”)总是覆盖外部样式表中的任何样式,因此可以被认为具有最高的特异性。了解详情:https://developer.mozilla.org/en-US/docs/Web/CSS/Specificity#The_!important_exception。还有 @ Error404 的答案,其中包含有关此内容的详细信息(此答案的下方或上方)
答案 2 :(得分:0)
您可以创建另一个CSS文件,并尝试为应用于div
的样式添加更高的specificity
。如果您将ID
设置为div
并应用新CSS样式表中的样式,则其specificity
最高。
如果您能够为CSS
的新div
样式设置更高的特异性,请尽量避免使用!important exception
。使用!important exception
被认为是一种不好的做法,因为他们放入了网页:
使用!important是不好的做法,应该避免使用,因为它会破坏样式表中的自然级联,从而使调试变得更加困难。
问题是内联样式会覆盖外部样式表的所有样式,因此您可能必须在此处使用!important exception
。
添加到元素的内联样式(例如,style =&#34; font-weight:bold&#34;)总是覆盖外部样式表中的任何样式,因此可以被认为具有最高的特异性。
答案 3 :(得分:0)
如前所述使用JavaScript是实现所需行为的好方法。但根据MDN
document.getElementsByClassName()
返回一个类似于结构的数组。所以正确的语法将是
document.getElementsByClassName('2')[0].style.fontWeight = 'normal';
或完全删除样式属性使用
document.getElementsByClassName('2')[0].removeAttribute('style');
答案 4 :(得分:0)
你可以用jquery做到这一点 使用这个
<script>
$(document).ready(function(){
$("._2").css("font-size", "normal");
});
</script>