Css 如何在Chrome中使用谷歌字体的Roboto Light/Thin

Css 如何在Chrome中使用谷歌字体的Roboto Light/Thin,css,google-chrome,fonts,Css,Google Chrome,Fonts,我在Chrome浏览器中使用Roboto字体时遇到问题。。具体来说,我似乎无法得到精简和薄/轻等字体权重。我下载所有3种完整字体: @import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyril

我在Chrome浏览器中使用Roboto字体时遇到问题。。具体来说,我似乎无法得到精简和薄/轻等字体权重。我下载所有3种完整字体:

@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);
然后我在声明中使用它们,如:

机器人浓缩 机器人灯 然而,它给我的是普通的机器人。如果我改变“压缩”一个使用字体家族“机器人压缩”它的作品。。。这是有道理的,因为chrome采用
font-stretch
显然为时已晚。但是,将字体系列更改为“roboto condensed”不会使用较轻的
字体重量(即300),而是保持在400。即使我将
font-weight
更改为300,它也会保持在400(在控制台中在200、300和400之间切换根本没有效果)。我必须把“Roboto Condensed Light”放在特别的位置,以获得较轻的字体重量

其他人呢?“Roboto Thin”不是专门下载或设置在
@font-face
中的。。。当我只需要一个字号的时候,我不应该用“roboto thin”这样的名字,是吗

细节 由于Terry的建议很好,以下是相关代码的全部内容:

    function _miscCSS () {
        var css = function(){/*
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);

 ...[css declarations follow]...

*/}.toString().slice(14,-3); 
        return css;
    }

    var misc_css = '<style>'+ _miscCSS() +'</style>';
    jQ(misc_css).appendTo('head');
函数{
var css=函数(){/*
@导入url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300300Italic,400400Italic,500500Italic,700700Italic,900900Italic&子集=拉丁语,拉丁语分词,西里尔语,西里尔语分词,希腊语分词,希腊语,越南语);
@导入url(https://fonts.googleapis.com/css?family=Roboto+压缩:300300Italic、400400Italic、700700Italic&子集=拉丁语、拉丁语分词、西里尔语分词、西里尔语、希腊语分词、希腊语、越南语);
@导入url(https://fonts.googleapis.com/css?family=Roboto+Slab:400100300700&子集=拉丁语、拉丁语、希腊语、希腊语、越南语、西里尔文、西里尔文;
…[css声明如下]。。。
*/}.toString()切片(14,-3);
返回css;
}
var misc_css=''+\u miscss()+'';
jQ(杂项css)。附于(“头”);

首先-避免使用
!重要信息
。实际需要这样做的场景数量非常有限

Roboto和Roboto Condensed由Google Fonts作为两个独立的字体系列提供,因此如果您想使用压缩版本,您必须声明
字体系列:“Roboto Condensed”
,因为压缩变体不包括在Roboto字体系列中

Roboto Condensed提供的字体权重也比较有限:300、400和700,而Roboto的字体权重为100、300、400、700和900。简单地说,使用100和900的字重将无法与Roboto Condensed一起使用,并且将退回到最接近的可能字重

你如何确认Roboto Condensed没有使用300字体?它似乎与我配合得很好(我也在一些网站上使用它)。。。在这把小提琴中也能很好地演奏:

因此,例如,不可能将Roboto压缩为字体重量为100


对于您更新的问题,为什么不使用此脚本?我看到您已经将CSS样式分成了几行-记住在JS中用反斜杠转义换行符
\

var css = '@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);\
           @import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);\
           @import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);',
    head = document.head || document.getElementsByTagName('head')[0],
    style = document.createElement('style');

style.type = 'text/css';
if (style.styleSheet){
    style.styleSheet.cssText = css;
} else {
    style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
Css文件(例如)(ECSS)


那是一把很棒的小提琴谢谢你。。奇怪的是,它在你的小提琴里为我演奏。但是在我的userscript上它肯定不起作用。@robertotomás你检查了你的脚本的输出了吗?我会把这个标记为答案-我的脚本正在运行,我没有看到字体被阻止的任何流量,但是你已经说服我,字体在chrome中的工作方式是我认为应该的,所以问题是其他的。您好。。。。我用@Terry's fiddle添加了Roboto+Slab,这样你就可以看到字体系列的衬线版本以及常规和浓缩字体。在这里:
    function _miscCSS () {
        var css = function(){/*
@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);
@import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);

 ...[css declarations follow]...

*/}.toString().slice(14,-3); 
        return css;
    }

    var misc_css = '<style>'+ _miscCSS() +'</style>';
    jQ(misc_css).appendTo('head');
var css = '@import url(https://fonts.googleapis.com/css?family=Roboto:100,100italic,300,300italic,400,400italic,500,500italic,700,700italic,900,900italic&subset=latin,latin-ext,cyrillic,cyrillic-ext,greek-ext,greek,vietnamese);\
           @import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext,cyrillic-ext,cyrillic,greek-ext,greek,vietnamese);\
           @import url(https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700&subset=latin,latin-ext,greek-ext,greek,vietnamese,cyrillic,cyrillic-ext);',
    head = document.head || document.getElementsByTagName('head')[0],
    style = document.createElement('style');

style.type = 'text/css';
if (style.styleSheet){
    style.styleSheet.cssText = css;
} else {
    style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
p {
  font-family:Roboto;
  font-weight: 200;
}