如何离线托管 Material Design 图标?

How to host Material Design icons offline?

我想为我的离线 Web 开发项目离线托管 Material 图标(我不会在部署的计算机上连接互联网)。从我的 Google 搜索中,我找到了 。但它对我不起作用。我的问题是如何让它发挥作用。如何为我的离线项目离线托管 material 设计图标?

我已附上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 复制 link 并将其放入浏览器。它将下载文件。您需要将其文件放在保存第一个文件的同一目录中(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>

我认为您从某处下载了错误的文件。这是您必须从以下位置下载正确字体的路径:https://github.com/google/material-design-icons/tree/master/iconfont 或使用我的 GH 存储库中已经为您工作的字体。

此外,您只需要在 html (php) 文件中调用一个 css,如下所示:

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

hth, k

原始但重量轻Material图标

这个轻量级存储库 (https://www.npmjs.com/package/material-design-icons-iconfont) 是原始存储库的一个分支,约 60MB,但它非常轻量级,因为从原始存储库中删除了不必要的文件。

如何安装?

第 1 步:

// install via bower/npm
bower install material-design-icons-iconfont

npm install material-design-icons-iconfont

第 2 步:

// import or link
@import "~material-design-icons-iconfont/dist/material-design-icons.css";

<link rel="stylesheet" href="../node_modules/material-design-icons-iconfont/dist/material-design-icons.css">

如何使用?

<i class='material-icons'>done</i> // remember to add class `material-icons`

更多关于 https://material.io/tools/icons/?style=baseline