【发布时间】:2015-07-16 17:24:51
【问题描述】:
我需要在带有一些变体(粗体、斜体等)的 JavaFX 项目中嵌入本地 .ttf 文件,但 css 解析器似乎不支持 @font-face 声明中的字体属性:
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-Regular.ttf');
}
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-Bold.ttf');
font-weight: bold;
}
@font-face {
font-family: 'Open Sans', sans-serif;
src: url('fonts/OpenSans-ExtraBoldItalic.ttf');
font-style: italic;
}
警告:CSS 解析错误 jar:file:/home/test/dist/run736633436/test.jar!/it/test/vending/css/application.css: Unexpected TOKEN [:] at [8,15] mag 06, 2015 3:40:15 PM com.sun.javafx.css.parser.CSSParser fontFace 警告:CSS 错误 解析 jar:file:/home/test/dist/run736633436/test.jar!/it/test/vending/css/application.css: [13,14] 处意外的 TOKEN [:]
我怎样才能做到这一点?
==编辑==
请注意,解析器会抱怨 font-weight: bold; 和 font-style: italic; 规则。
【问题讨论】:
-
font-family应该具有您要在所有 css 文件中使用的字体系列的名称。您要使用的字体系列应该具有唯一的名称,例如OpenSansRegular、OpenSansBold、OpenSansBoldItalic。虽然我不确定这是否正是问题所在,因为您的 CSS 错误并没有说明太多,但值得一试。 -
@ItachiUchiha 不,定义不同的系列并不重要:解析器仍然抱怨 font-weight: bold; 和 font-style: italic;乙>。使用多个具有不同字体属性的相同字体系列实际上是正确的;请参阅w3schools - 至少谈到 css3。