我不得不放弃这种风格。css父主题文件,并为“我的子文件夹”中的菜单重新设置了一个不带@媒体规则的副本,优先级为11。
但现在这种新样式正在覆盖内联规则。
有没有办法只覆盖父主题样式而不覆盖内联规则?
我正在自定义wordpress高级主题,我的菜单太长,所以我不得不移动@媒体规则,以触发992px而不是700ishpx的移动菜单。
为了在需要更新主题时保持这些更改,我不得不将样式从队列中删除。css核心文件,并从我的子文件夹(优先级为11)中为菜单(我知道这是唯一的解决方案,实现移动菜单的方式很奇怪(1),如果你好奇,请告诉我),重新申请了一份没有@媒体规则的副本,在customizer中添加了@媒体规则,以便在我需要更少li的情况下进一步更改菜单,移动菜单现在在正确的媒体宽度触发。
但现在,子css正在覆盖内联样式,我的主题使用它来改变事物的死气沉沉的颜色,谁知道还有什么。
有没有办法只覆盖css核心文件而不覆盖内联规则?没有优先级的出列和重新排队没有修复我的菜单。
遗憾的是,我的支持期已过。主题创建者在句点结束前用一张票证修复了我的菜单,但用他的解决方案,我必须更新样式。每次更新后的css父主题文件,据我所见,它不是一个已解决的问题。
(1) 菜单的@media规则有点不寻常,据我所知,菜单总是移动的,@media min width:xxxpx菜单进入桌面,这就是为什么在附加的css文件中只需几行代码是徒劳的。
这就是我使用的排队和退队规则
add_action( \'wp_enqueue_scripts\', \'my_theme_enqueue_styles\', 11 );
function my_theme_enqueue_styles() {
wp_enqueue_style( \'main-css\', get_stylesheet_directory_uri() . \'/css/style.css\' );
wp_dequeue_style( \'nt-agricom-main-style\');
}
SO网友:user3135691
Please see this post about including styles and scripts correctly.
据我所知,你只是在装腔作势。css,使WordPress没有机会决定何时使用哪个样式表。
为了做到这一点,你需要先注册你的样式,然后WordPress可以根据你的优先级决定样式的放置位置。css。
在您的情况下,您可能需要使用该函数wp_is_mobile().
这并不是你完全正确的答案,但它可能有助于你更好地处理问题并最终解决它。
<?php
// Example of correct use
function se_my_script_example(){
// first, "register" the style
wp_register_style(
\'my-style-desktop\', // Handle name
get_template_directory_uri().\'/style-desktop.css\'); // Path to file
// Then later on check what kind of device is coming in
wp_register_style(
\'my-style-mobile\', // Handle name
get_template_directory_uri().\'/style-mobile.css\'); // Path to file
// Then later on
if(wp_is_mobile()) {
wp_enqueque_style(\'my-style-desktop\', $deps, $version, $footer);
} else {
wp_enqueque_style(\'my-style-mobile\', $deps, $version, $footer);
}
}
add_action(\'wp_enqueque_scripts\', \'se_my_script_example\');