jQuery CSS范围

时间:2011-06-13 07:33:07

标签: jquery jquery-ui

我处于这样一种情况,即我有两个包含jquery-ui.css的WordPress插件,最后一个被加载的插件会覆盖第一个插件的css。我希望加载这两个主题。我知道jQuery主题构建器支持CSS作用域,但这些插件都没有利用这个功能,编辑插件不是一个合理的选择(因为下次我更新插件时会改写更改)。有没有什么办法可以通过在我的主题中添加一些JavaScript来以编程方式实现作用域?

1 个答案:

答案 0 :(得分:1)

首先,您必须能够通过标记其容器(或使用额外的包装)一些class来确定至少一个插件输出的范围。要使class生效,您需要使用CSS Scope选择器class下载new package build填充.classTheme Folder Name是您的新范围内的CSS将进入的地方。查看this page了解详情。

enter image description here

<强> WordPress的

为了在WordPress下保持良好和清晰,请注册新的CSS。在您的主题functions.php

wp_register_style( 'myScopedjQueryUICss', get_stylesheet_directory_uri() . '/scopedjQueryUICssDirectory/ui.all.css' );

最后,将这些样式排列在您需要的位置。常见的方法是将以下行连接到wp_print_styles操作。

function hookScopedCss() { 
   if ( wp_style_is( 'myScopedjQueryUICss' ) || 
        wp_style_is( 'myScopedjQueryUICss', 'done' ) )
   { return; }
   wp_enqueue_style( 'myScopedjQueryUICss' );
}
add_action('wp_print_styles', 'hookScopedCss' );