如何离线托管Material Design图标?

时间:2017-10-03 07:28:47

标签: javascript css material-design materialize google-fonts

我想为我的离线网络开发项目离线托管材料图标(我将在部署的计算机上没有互联网)。在我的Google搜索中,我找到了this SO answer。但它不适合我。我的问题是如何让它发挥作用。如何为我的离线项目离线托管材料设计图标?

我已附上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';
}

3 个答案:

答案 0 :(得分:2)

原始但重量轻的材质图标

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

如何安装?

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

npm install material-design-icons-iconfont

// 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>

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

答案 1 :(得分:1)

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

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

    1. 从src网址复制链接并将其放入浏览器中。它会下载文件。您需要将文件放在保存第一个文件(material-fonts.css)的同一目录中。
    2. 将material-fonts.css文件src: url(2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');更新为<!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>
    3. 第二个例子: 看起来你下载了错误的文件。 您需要下载此directory并将其放入您的文件夹,以前的文件必须删除。

      您的materialFontTest.php应如下所示:

      names = input('Enter list of names:').upper().split()
      

答案 2 :(得分:1)

我认为你从某个地方下载了错误的文件。这是你必须从https://github.com/google/material-design-icons/tree/master/iconfont下载正确字体的路径,或者使用我已经为你工作的GH repo中的字体。

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

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

hth,k