首页 文章

Grails 3如何包含font-awesome字体

提问于
浏览
0

this post在项目中使用字体awesome的过程有一半 . 步骤是:

  • 下载font-awesome zip并解压缩到grails-app / assets / fonts目录 .

  • 修改build.gradle以在资产下添加includes = ["fonts/*"]

  • 使用代码中的字体,例如

<i class =“fa fa-camera-retro fa-4x”> fa-4x

问题是,第3步是什么?我假设有两种选择:

  • 在gsp页面的顶部放置了类似<link rel = "stylesheet" href = "path/to/font-awesome/css/font-awesome.min.css">的内容,但路径是什么?我试着猜测,例如href = "/assets/fonts/css/font-awesome.min.css"但即使重启后也无效 .

  • 在application.css中添加一些东西 . 我不知道这可能是什么,因为它目前只引用自己目录中的文件 . 我甚至读过the manual,但无法理解 . 该手册提到"*= require font-awesome"但可能这需要更多的代码,因为它不起作用 .

有什么建议? Grails肯定会让一些非常困难的东西变得简单,但它也会使一些简单的事情变得困难 .

3 回答

  • 0

    您可能必须更改 fontawesome.css 文件中的目录引用 . 尝试将 ../fonts/fontawesome 的所有引用替换为 fontawesome 并检查它是否有效 .

    假设在 assets/stylesheets 目录中包含 font-awesome.css 文件,在 fonts 目录中包含字体 . 那么,在 build.gradle 你应该有类似的东西:

    assets {
        minifyJs = true
        minifyCss = true
        includes = ["fonts/*"]
    }
    

    在您的布局GSP文件( main.gsp<head> 中,您应该具有以下内容:

    <asset:stylesheet src="application.css"/>
    

    最后,在你的 application.css 中你应该有类似的东西:

    *= require font-awesome
    

    require必须与没有 .css 扩展名的CSS文件同名 . 所以,如果你有缩小版的font-awesome,它应该是这样的:

    *= require font-awesome.min
    

    请注意,通过这样做,您不需要将CSS包含添加到GSP页面 .

  • 2

    或者,您可以在fontawesome(http://fontawesome.io/get-started/)的网站上生成嵌入代码并将其添加到main.gsp文件中

    <script src="https://use.fontawesome.com/xxxxxxxxxx.js"></script>
    
  • 1

    我从here获得了第3步的答案:

    答案是将以下内容添加到application.css中

    “* =要求css / font-awesome”

    令人惊讶的是,这将从fonts / css / dir中获取font-awesome.min.css,其中文件从zip分发中展开 .

    Jordi和klocker也提供了有效的解决方案,但上面的解决方案就是我想要的 .

    如何通过链接直接引用资产仍然是一个谜 .

相关问题