Primefaces 使用主题图标自定义 rowEditor

Primefaces customize rowEditor with theme icon


我想使用 Sentinel 等任何 Primefaces 主题提供的图标(铅笔等)自定义 p:rowEditor(参见此处:[https://www.primefaces.org/eos/sentinel/font-icons.xhtml][1]

我编辑了我的自定义 CSS 文件,我试图覆盖行编辑器 类 复制 CSS 用于 Sentinel 主题 CSS 文件的元素,所以结果是以下 :

.ui-datatable table tbody tr td .ui-row-editor .ui-icon-pencil
{
  background: none !important;
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: none;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;
}

.ui-datatable table tbody tr td .ui-row-editor .ui-icon-pencil:before {
    content: '\e851';
}

没有机会让它工作。我看到一片空白。也许我需要调整任何位置属性? 有什么建议吗? 谢谢!

很可能,text-indent 属性 是未显示内容的原因。

components.css 定义:

.ui-icon{
    text-indent: -99999px;
}

要覆盖它,请将 text-indent: 0; 添加到 .ui-icon-pencil 的 css。