【问题标题】:Google Fonts won't work when imported at a less nested level.当以较少的嵌套级别导入时,Google 字体将不起作用。
【发布时间】:2014-01-31 17:51:47
【问题描述】:

我正在使用 Google 字体,并已将其导入 less。这是我的代码:

main.less

#container {
  @import url(http://fonts.googleapis.com/css?family=Raleway:300);
  .like {
    font-family: 'Raleway', sans-serif;
  }
}

这不起作用。但如果我将@import url(http://fonts.googleapis.com/css?family=Raleway:300); 放在#container 之前,它确实如此。

我猜这可能是因为路径,但我不知道为什么。我该如何解决这个问题?

【问题讨论】:

  • "您的 @imports 必须位于 CSS 中的所有其他内容之前。我的意思是您的所有内容。即使将 cmets 放在 @import 标记之前也会导致您的导入失败。所以请确保在你做任何其他事情之前先做你的进口。” - cssnewbie.com/css-import-rule/#.UtNj1PQmnn8
  • 谢谢!但是有必要吗?如果我在@import 之前加上一些其他的css 规则,我发现它也可以。
  • 我很确定它不起作用。这是一个小提琴:jsfiddle.net/setek/5QsvU 这表明当@import 不是样式表/嵌入的第一行时,它不起作用。试着把这两条 CSS 线调换一下,你就知道会发生什么了。
  • Setek - 如果我是你,我会把它作为答案。

标签: css google-font-api


【解决方案1】:

“您的@imports 必须在您的CSS 中的所有其他内容之前。我的意思是您的所有内容。即使将cmets 放在@import 标记之前也会导致您的导入失败。所以请务必在导入之前进行还要别的吗。” - http://www.cssnewbie.com/css-import-rule/#.UtNj1PQmnn8

直接来自 W3C:

"任何@import 规则必须在样式表中的所有其他at 规则和样式规则之前(除了@charset,如果它存在,它必须是样式表中的第一件事),否则@import规则无效。” - http://www.w3.org/TR/css3-cascade/#at-import

这是一个小提琴:http://jsfiddle.net/setek/5QsvU/

这表明当@import 不是样式表/嵌入的第一行时,它不起作用。尝试将@import 放在第一行,您可以看到会发生什么:

#sidebar a { color: #f00; }

@import url('http://jsfiddle.net/css/screen.css?jobofferinsidebar');

对比只是:

@import url('http://jsfiddle.net/css/screen.css?jobofferinsidebar');

【讨论】:

  • @callblueday 很好,@import 声明必须在所有其他代码之前。 font-family 可以存在于任何地方。只需确保 @import 位于顶部即可。
  • 非常感谢!这是我的代码,我使用less。 @base-img: "@{base-url}img/"; @导入网址(fonts.googleapis.com/css?family=Raleway:300); #container { .like { font-family: 'Raleway', sans-serif;它的工作原理。我认为它也遵循规则。 @base-img: "@{base-url}img/"; 不是真正的 CSS 规则。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
  • 1970-01-01
  • 2022-07-14
  • 2021-07-23
  • 1970-01-01
  • 2012-10-21
相关资源
最近更新 更多