【问题标题】:Can I define (override) a class using a style attribute?我可以使用样式属性定义(覆盖)一个类吗?
【发布时间】:2014-03-12 22:07:02
【问题描述】:

我在一个内容管理系统中工作,该系统允许我有限(无)访问样式表,但允许我将 CSS 插入某些模板。所以我有这个:

<div class="inside_widget"> 
  <div class="input"><span class="form_label">Form stuff</span></div>
  <div class="input"><span class="form_label">Form stuff</span></div>
  <div class="input"><span class="form_label">Form stuff</span></div>
  etc... 
</div> 

其中 inside_widget、input 和 form_label 都在我无法触摸的工作表中定义。我想在“form_label”上放置一些自定义 CSS,而不必触及每一个跨度。

我尝试在包含的 div 中使用 style 属性,但这不起作用。

<div class="inside_widget" style=".form_label {color:#FFFFFF;}" >

注意:我想保留 inside_widget 样式中的所有其他内容,而不必定义一个全新的类。

【问题讨论】:

    标签: html css class styles


    【解决方案1】:

    我认为 OP 试图实现的是不必为他的表单中的每个 &lt;span&gt; 重复 style="" 属性。

    这可以通过简单地将您自己的类名添加到封闭 div 的类中来完成:

    <div class="inside_widget myclass" ...>
        <!-- ... -->
    </div>
    

    然后制作自己的辅助样式表并定义myclass

    .myclass span
    {
        color: #ffffff;
    }
    

    您可以将此辅助 CSS 放在 HTML 本身的 &lt;style&gt; 标记中,或者放在它自己链接的 CSS 文件中。

    【讨论】:

    • 谢谢,这个简单有效。你是对的,我试图避免碰到每个表单元素。您的解决方案实现了这一点。谢谢!
    【解决方案2】:

    你不知道css吧?看起来像

    <div class="inside_widget" style="color:#FFFFFF;" >
    

    但我建议您创建一个新的 css 文件并在其中添加您想要的任何内容

    【讨论】:

    • 这个解决方案的问题在于,当我只想将 inside_widget 中的所有内容应用到某个子类而不清除 inside_widget 的其余部分时,它会将所有内容都变成#FFFFFF。
    【解决方案3】:

    您可以在下面执行此操作。

    <span class="form_label" style="color:#FFFFFF;">Form Stuff</span>
    

    像这样的内联样式会覆盖样式表中的任何 css 规则,除非在样式表中有带有 !important 的规则

    【讨论】:

    • 这可行,但需要我找出所有可能变得毛茸茸的 form_label 实例。我曾试图重新定义 form_label 一次。
    猜你喜欢
    • 2018-05-08
    • 1970-01-01
    • 2012-06-30
    • 2015-12-10
    • 2012-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多