在primefaces中改变FontAwesome图标大小(p:commandButton和p:menuitem)

4

我正在使用p:commandButton和p:menuitem尝试使用FontAwesome图标。

虽然我可以显示这些图标,但与内置的移动端图标相比,FontAwesome图标似乎太小了。如果您有其他PF组件使用themeroller图标,则会看起来不一致。

是否有办法增加FontAwesome图标的大小?

我已经尝试使用样式中的font-size、fa-lg、fa-2x、fa-3x、fa-4x或fa-5x类来增加其大小,但都没有生效。

<p:commandButton icon="ui-icon-mobile-phone" id="sendSMSBtn"
    styleClass="btn btn-info btn-lg" onclick="modalDialog.show()"
    oncomplete="modalDialog.hide();"
    action="#{myBean.getMobileNo()}"
    update=":frm:messages" style="font-size:30px">

生成的HTML:

<button type="submit" title="Send Bulk SMS" onclick="modalDialog.show();PrimeFaces.ab({source:'frm:dataTable:sendSMSBtn',update:'frmMassSMS frm:messages',oncomplete:function(xhr,status,args){modalDialog.hide();;}});return false;" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only btn btn-info btn-lg fa-fw" name="frm:dataTable:sendSMSBtn" id="frm:dataTable:sendSMSBtn" role="button" aria-disabled="false"><span class="ui-button-icon-left ui-icon ui-c ui-icon-mobile-phone"></span><span class="ui-button-text ui-c">ui-button</span></button>

你可以使用字体大小来实现。可以尝试使用font-size:2em等。 - chanaka777
@chanaka777 我尝试了,但它没有起作用。 - Divyesh Kanzariya
如果您能够粘贴HTML源代码渲染,那将非常有帮助。 - chanaka777
@chanaka777 好的,我把代码放在上面了。 - Divyesh Kanzariya
3个回答

6

如果您不使用<p:commandButton>中的value组件,那么您可以使用fa-2x、fa-3x等。只需将其放入styleClass中,以便描述此按钮的样式。

<p:commandButton styleClass="fa fa-pencil fa-2x btn btn-lg btn-success someclass" process="staffTable" update=":MStaffUpdateForm:staffUpdate" oncomplete="PF('staffUpdateDialog').show()"  />

然后,你的XHTML代码生成如下:
<span class="ui-button-text ui-c">ui-button</span>

图片:
image

然后,只需按照以下方式编写您的JavaScript代码:

<script>
     $(function() {
         $('.someclass').text("");
     }
</script>

普通大小的结果:
普通大小的结果

fa-2x大小的结果:
fa-2x大小的结果


4
覆盖“ui-icon”CSS的宽度和字体大小属性对我有用:
.button {
  width: 100px;
  height: 50px;
}

.ui-icon {
  width: 24px !important;
  font-size: 24px !important;
}

示例按钮:

<p:commandButton image="fa fa-download" value="Test" styleClass="button"/>

enter image description here


-3

可以的!

但是如果你想使用FA,你需要添加一个库的引用。我曾经遇到过同样的问题,我就是这么做的:

    <!-- CSS With Font-Awesome.jar -->  
        <link href="/webjars/font-awesome/4.6.3/css/font-awesome.css" rel="stylesheet" type="text/css" media="screen"/>

一些代码:

                    <td >
                        <i class="fa fa-camera-retro"></i> fa-camera-retro              
                        <i class="fa fa-camera-retro fa-lg"></i> fa-lg
                        <i class="fa fa-camera-retro fa-2x"></i> fa-2x
                        <i class="fa fa-camera-retro fa-3x"></i> fa-3x
                        <i class="fa fa-camera-retro fa-4x"></i> fa-4x
                        <i class="fa fa-camera-retro fa-5x"></i> fa-5x
                    </td>

你应该在web.xml中添加以下片段:

<context-param>
    <param-name>primefaces.FONT_AWESOME</param-name>
    <param-value>true</param-value>
</context-param>

祝你好运!


有人找到解决方案了吗? - Divyesh Kanzariya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接