项目:
|-theProjectFolder
|-css
|-style.css
|-fonts
|-expansiva-bold.otf
|-views
|-index.hbs
index.hbs:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>My Site</title>
<link rel="stylesheet" href="../css/style.css">
</head>
<body>
.........
</body>
</html>
的style.css:
/* Custom Fonts */
@font-face {
font-family: expansiva;
src: url("../fonts/expansiva-bold.otf"); }
/****************/
.line1 {
color: black;
text-align: center;
margin-top: 150px;
font-family: expansiva, Arial, sans-serif;
font-size: 56px;
}
所以使用这个设置,我得到的只是“Arial”字体 - 没有“expansiva”。我环顾四周,发现提到将字体转换为“web”字体?但是,当我这样做时,也没有任何变化。
答案 0 :(得分:0)
自定义字体的字体名称应使用引号,请尝试:
font-family:&#39; expansiva&#39;;
如果仅在您为其指定本地路径时才加载,则它在您的服务器上是正确的,或者您的网址不正确(尽管您看起来很好)。
答案 1 :(得分:0)
问题是服务器无法访问“/ fonts”文件夹。由于这是一个Node / Express项目,解决方案是将fonts文件夹添加到Express(index.js):
const express = require('express');
const hbs = require('hbs');
const app = express();
hbs.registerPartials(__dirname + '/views/partials');
app.set('view engine', 'html');
app.engine('html', require('hbs').__express);
app.use('/css', express.static(__dirname + '/css'));
app.use('/img', express.static(__dirname + '/img'));
app.use('/fonts', express.static(__dirname + '/fonts')); // <--added
app.get('/', (req, res) => res.render('index'));
app.get('/about', (req, res) => res.render('about'));
app.get('/contact', (req, res) => res.render('contact'));
app.listen(3000, () => {
console.log('App listening at port 3000!')
});