2016-11-10 76 views
1

我使用的WordPress主题在标题中有一些内联css,而我试图更改的其中一项是标题的顶部/底部填充。在内嵌CSS它列为:Override inline css

<head> 
    ... 
     <style type="text/css" data-type="vc_custom-css"> 
     #site-header:not(.shrink) .site-title { padding: 60px 0 !important; } 
     </style> 
    </head> 

<body class="home page page-id-24236 page-child parent-pageid-5 page-template-default logged-in admin-bar wpb-js-composer js-comp-ver-4.12.1 vc_responsive customize-support"> 
    <div id="page" class="layout-fullwidth"> 
     <div id="site-header-wrapper"> 
      <header id="site-header" class="site-header" role="banner"> 
       <div class="container container-fullwidth"> 
       <div class="header-main logo-position-left header-layout-fullwidth header-style-3"> 
       <div class="site-title">         
        <h1><a href="#" rel="home"></h1>  
       </div> 
       </div> 
       </div> 
      </header> 
     </div> 
    </div> 
</body> 

东北角,#网站标题:{!...重要}不是(.shrink).site标题不会在我的styles.css的工作。

我曾尝试以下,它仍然不工作:

[style]#site-header:not(.shrink).site-title { padding: 1px 0 !important; } 

我如何得到它的覆盖?

+0

难道你不恨内嵌样式?他们真的很臭。我会稍后发布一个答案.... –

回答

2

风格块不是样式表很臭。当主题开发人员将它们放入主题时,我真的很鄙视它。唯一更糟的是内联样式(即<div style="padding: 5px !important;">)。那些几乎不可能克服。

在你的情况下,有一对夫妇的下锅tastic的方式来解决这个问题哈克。

在你的子主题的functions.php文件,你可以使用下面的(诚然哈克)解决方案:

// We're adding a HIGH priority of 9999 which should cause this to be output AFTER the theme's bad styles. 
add_action('wp_head', 'fix_bad_theme_styles', 9999); 

function fix_bad_theme_styles() { ?> 
    <style type="text/css" data-type="vc_custom-css"> 
      #site-header:not(.shrink) .site-title { padding: 1px 0 !important; } 
    </style> 
<?php } 

如果不工作,甚至hackier方法是把风格的页脚。它会工作,但它不是最好的做法(如若有此解决方案是!):

add_action('wp_footer', 'fix_bad_theme_styles'); 
+0

你,我的朋友真棒。我已经通过CSS尝试了本书中的所有内容。 – user3088202

+0

我很高兴能帮到你! –

0

尝试增加更多的特异性您的规则,如:

体.anotherParentClass#网站标题:不是(.shrink).site标题{填充:1px的0重要; }

Example: https://jsfiddle.net/robsilva/wx113Lxo/ 
+0

我尝试了几个不同的是,但没有运气。我刚刚将模板中的更多代码添加到了我的问题中。 – user3088202

0

你忘了.site-title:not部分之间的空间。试试这个:

#site-header:not(.shrink) .site-title { padding: 1px 0 !important; } 
+0

试过。不工作。标题中的内联样式具有重要的意义。 – user3088202

1

如果您正在使用一个子主题可以覆盖一个特定的文件如footer.php

所以,你会在同一目录下创建同名的文件,并复制代码,你需要