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

时间:2016-06-02 09:30:42

标签: html css styles

我对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>

我能做些什么吗?

谢谢:)

5 个答案:

答案 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 的答案,其中包含有关此内容的详细信息(此答案的下方或上方)

见工作小提琴:https://jsfiddle.net/o24jww1b/1/

答案 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>