javascript - 如何离线托管 Material Design 图标?

标签 javascript css material-design materialize google-fonts

我想为我的离线 Web 开发元素离线托管 Material Icons(我不会在部署的计算机上连接互联网)。从我的谷歌搜索中,我找到了 this SO answer .但它对我不起作用。我的问题是如何让它发挥作用。如何为我的离线元素离线托管 Material Design 图标?

我附上了a .zip file of my SSCCE project, which reproduces the problem, here .

基本上我下载了 MaterialIcons-Regular.eotMaterialIcons-Regular.ttfMaterialIcons-Regular.woffMaterialIcons -Regular.woff2 从这里并将它们放在我的元素目录中。

这是我的索引文件:

<!DOCTYPE html>

<html>

<head>
    <title>MaterializeTest</title>

    <link rel="stylesheet" href="material-fonts.css" />
    <link type="text/css" rel="stylesheet" href="materialize.min.css" />

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width; initial-scale=1"/>

    <script src="jquery.min.js"></script>
    <script src="materialize.min.js"></script>
</head>

<body>
    <a href="#!"><i class="material-icons">chevron_left</i></a>
</body>

</html>

这是 CSS 文件。

@font-face {
   font-family: 'Material Icons';
   font-style: normal;
   font-weight: 400;
   src: url(MaterialIcons-Regular.eot); /* For IE6-8 */
   src: local('Material Icons'),
        local('MaterialIcons-Regular'),
        url(MaterialIcons-Regular.woff2) format('woff2'),
        url(MaterialIcons-Regular.woff) format('woff'),
        url(MaterialIcons-Regular.ttf) format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  line-height: 1;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}

最佳答案

第一种添加图标的方法如下:

  1. 将此文件的内容复制到您的自定义 css 文件(例如,material-fonts.css)https://fonts.googleapis.com/icon?family=Material+Icons

/* fallback */
@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(https://fonts.gstatic.com/s/materialicons/v29/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
}

  1. 从 src url 复制链接并将其放入浏览器。它将下载文件。您需要将其文件放在保存第一个文件 (material-fonts.css) 的同一目录中。
  2. 在 material-fonts.css 文件 src: url() 中更新为 src: url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');

第二个例子: 看起来你下载了错误的文件。 你需要下载这个 directory并将其放入您的文件夹中,必须删除以前的文件。

您的 materialFontTest.php 应该如下所示:

<!DOCTYPE html>

<html>

<head>
<title>MaterializeTest</title>

<link rel="stylesheet" href="material-icons.css" />

<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>

<script src="jquery.min.js"></script>
<script src="materialize.min.js"></script>
</head>

<body>
<a href="#!"><i class="material-icons">chevron_left</i></a>
</body>

</html>

关于javascript - 如何离线托管 Material Design 图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46539290/

相关文章:

Javascript 存储定位器,未捕获 ReferenceError : . .. 未定义

javascript - 按模式对数组进行排序——javascript

javascript - 如何在我的应用程序中发出 POST 请求

css - 如何在一行中将固定元素和 % 元素并排放置

javascript - 嵌套函数 : am I creating 10 functions here?

javascript - 如何防止表超出其 div 容器?

html - 使父元素扩展以包含相对定位的子元素?

javascript - 在 Javascript 中设置多个小图像(如轮播)

Android 在 BottomNavigation 上制作重叠的 FloatingActionButton

html - 如何像我在许多 Google 网络应用程序中看到的那样在右下角实现 'add' FAB?