【问题标题】:Using Unicode Icons in Icon Picker在图标选择器中使用 Unicode 图标
【发布时间】:2017-08-25 22:57:17
【问题描述】:

我正在尝试在我的应用中实现一个图标选择器,它允许用户选择一个数学运算符进行数据比较。

我已经能够在页面上使用fontawesome-iconpicker,但我在使用图标本身时遇到了问题。我可以毫无问题地使用字形图标,但我想使用的图标在 Unicode 集中,我不确定如何以图标选择器能够理解的方式引用它们。

在我定义图标选择器数据集的代码中,我可以通过类引用它们来加载要加载的字形图标:

icons: ['glyphicon glyphicon-home', 'glyphicon glyphicon-repeat', 'glyphicon glyphicon-search',
        'glyphicon glyphicon-arrow-left', 'glyphicon glyphicon-arrow-right', 'glyphicon glyphicon-star', '<'],

这与我将它们添加到我的 index.jade 文件中的方式相同,我将使用 .glyphicon.glyphicon-arrow-left 在页面上放置一个图标

但是,我无法显示 unicode 项目,如果我单击“

Uncaught Error: Syntax error, unrecognized expression: .<
at Function.Sizzle.error (jquery.js:1580)
at Sizzle.tokenize (jquery.js:2232)
at Function.Sizzle [as find] (jquery.js:854)
at jQuery.fn.init.find (jquery.js:2922)
at c._updateComponents (fontawesome-iconpicker.js:796)
at c.update (fontawesome-iconpicker.js:972)
at HTMLAnchorElement.c (fontawesome-iconpicker.js:522)
at HTMLAnchorElement.dispatch (jquery.js:5206)
at HTMLAnchorElement.elemData.handle (jquery.js:5014)

我认为问题在于图标选择器需要按其类引用图标,但我不知道 Unicode 图标的类是什么(我正在尝试使用几个 these),我一直无法通过搜索找到任何信息。我是否需要创建一些自定义 CSS 来为 Unicode 图标分配类?如果是这样,我该怎么做?

谢谢!

【问题讨论】:

    标签: javascript css unicode icons glyphicons


    【解决方案1】:

    我最终找到了解决方案。我为我需要的每个符号创建了 CSS 类,并使用 :before 选择器来指定将出现在元素之前的内容。然后,我将转义的 Unicode 字符的十六进制值作为字符串传递给样式中的内容属性。代码最终看起来像这样:

    /* Unicode icons for mathematical operators */
    .lessThan:before {
      content: "\3c";
    }
    .greaterThan:before {
      content: "\3e";
    }
    .lessThanEqual:before {
      content: "\2264";
    }
    .greaterThanEqual:before {
      content: "\2265";
    }
    .equalTo:before {
      content: "==";
    }
    .notEqualTo:before {
      content: "\2260";
    }
    

    然后能够将这些类名传递给“图标”数组。

    【讨论】:

      【解决方案2】:

      虽然不是你直接问的,但我已经实现了一个带有单选按钮且没有 Javascript 的 Font Awesome 图标选择器。您可以使用类似的方法来显示您的数学运算符。

      这是通过直接在 HTML 中使用图标并隐藏默认单选按钮来完成的:

        <input type="radio" class="hide" id="radio-fa-plane" name="icon" value="plane">
          <label for="radio-fa-plane">
          <i class="fas fa-plane"></i>
        </label>
      

      https://jsfiddle.net/wjgpmcs2/10/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-01
        • 1970-01-01
        • 2021-10-13
        • 1970-01-01
        • 1970-01-01
        • 2015-07-11
        • 1970-01-01
        相关资源
        最近更新 更多