0

我在对新客户站点进行故障排除时遇到问题。

我正在使用 CSS 媒体查询,但由于某种原因,modernizr/respond.js 不适用于 IE7 和 8——我整个上午都在查看这个问题,但无法修复它。想知道一双新鲜的眼睛是否能发现任何我看不到的东西......?

网站在这里:http ://cy4or.co.uk

更新:我想知道这是否与 Wordpress 中的父/子主题有关。以前这个站点使用一个主题,我后来将该主题拆分为父主题和子主题,(我认为)这就是问题开始的时候。

更新 2:它肯定与父/子主题有关。只激活了它们的父级,一切正常。

4

3 回答 3

1

我也遇到了Respond.js没有解析我的 WordPress 父/子主题配置中的媒体查询的问题,这涉及@import在子 CSS 文件中使用来拉入父主题 CSS。然后我发现根据Respond.js 文档

Respond.js 不解析通过 @import 引用的 CSS,也不适用于样式元素中的媒体查询,因为这些样式无法重新请求解析。

由于我使用的是 Sass,因此我的解决方案是 @import Sass文件,而不是 CSS 文件:

@import '../parent/scss/style.scss';

这会将父 CSS 编译为子主题中的单个 style.css 文件,并且 Respond.js 会按预期呈现媒体查询。如果您没有使用预处理器或有其他原因加载父 CSS 文件本身,则可以使用wp_enqueue_style.

function link_parent_theme_style() {
    wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
    wp_enqueue_style( 'child-style', get_stylesheet_uri() );
}
add_action('wp_enqueue_scripts', 'link_parent_theme_style'); 

从技术上讲,这个问题应该是“ Respond.js not working with WordPress parent/child theme

于 2014-04-28T05:47:21.543 回答
0

您的页面没有验证,JavaScript 很可能需要一个正确验证的页面才能获得最佳执行机会而不会出错。

于 2012-06-26T12:56:00.910 回答
0

所以事实证明这个问题有点棘手。

我正在使用 .less 来编译我的 css,但由于某种原因,在使用 Child 主题并在 style.css 顶部导入父 css 时,它在 ie8 及以下版本中不起作用。

我希望我可以扩展“它不起作用”,但经过 2 天的故障排除后,我真的无法告诉你问题出在哪里。

最后我求助于将子 css 直接添加到标题中,然后是父 css:

<link rel="stylesheet" href="http://site.com/wp-content/themes/Parent/style.css">
<link rel="stylesheet" href="http://site.com/wp-content/themes/Child/style.css">

这对我有用,我知道这并不理想,但我可以忍受。如果有人对使用 .less 应用程序成功编译子主题和父主题 css 有任何了解,我想知道。

于 2012-06-27T14:18:31.527 回答