【问题标题】:Angular SlickGrid align header textAngular SlickGrid 对齐标题文本
【发布时间】:2022-01-13 10:27:57
【问题描述】:

我正在使用 Angular SlickGrid 并希望将列标题中的文本居中或右对齐。并非所有列的方式都相同。

我想通了,列定义中有一个headerCssClass 属性,但我一直尝试,这种样式似乎从未得到应用。

对于列定义:

    {
        id: 'sourceNumber',
        name: 'SourceNumber',
        field: 'SourceNumber',
        sortable: true,
        width: 150,
        headerCssClass: 'text-right',
        cssClass: 'text-right'
    },

在 CSS 文件中:

    .text-right {
        text-align: right;
    }

它适用于单元格内容。但是标题中的文本仍然是左对齐的。

我做错了什么?

【问题讨论】:

    标签: css angular slickgrid


    【解决方案1】:

    为了对齐网格单元格,我通常使用为此目的创建的格式化程序 alignCenteralignRight(请参阅 Formatters - Wiki 中的所有格式化程序),您也可以像您一样使用额外的 CSS 类。

    如果您保留额外的 CSS 类,那么在 .slick-column-name 类上还有一个额外的 float: left,您可能必须取消它,这可能是阻止(或取消)您的 CSS 的原因。但是我必须说,它在左侧是有原因的,将它移动到不同的位置(尤其是在右侧)并不理想,因为您可能会与标题菜单和排序图标冲突(您肯定会正确对齐)

    .slick-column-name {
      float: none;
    }
    

    还要注意,列定义name 属性也接受 HTML 代码(虽然它可能没有记录),但即便如此,您也可能必须先取消浮动

    this.columnDefinitions = [
      { id: 'firstName', field: 'firstName', name: '<span style="color: blue">First Name</span>' },
    ];
    

    最后,你还应该看看所有的 SASS 变量(它们也有等效的 CSS 变量名称),你可以看到这个 _variables 文件中的所有变量,有很多可用的变量,但它没有似乎包含任何用于标题对齐的内容(我们将来可以为此添加变量),还有这个CSS Styling - Wiki 有这方面的信息。

    请注意,我是 Angular-Slickgrid 的作者

    【讨论】:

    • 你好 ghiscoding!感谢开发和维护 Angular-Slickgrid。谢谢你的回答。把我推向了正确的方向。取消了 CSS 类中的浮动。现在所有列标题都居中。但是使用 name 属性中的 html,我可以将 float 更改为“left”或“right”,这正是我所需要的 :-)
    • 很高兴看到这有帮助,如果这回答了问题,您可以投票赞成答案,也许还有 lib ;-)
    • 我确实赞成这个答案,但不幸的是我的声誉仍然太低。但它已经被记录下来了。这就是 Stackoverflow 告诉我的 ;-) 我在哪里可以投票支持这个库?
    • 我支持你的问题,它可能会给你足够的分数来支持和接受我的回答,至于支持我的库,那将是在 GitHub 上给一个星,你需要一个 GitHub 上的帐户。节日快乐
    • 我的名气还不够,但希望早点,然后应该算了。也在 GitHub 上支持你的库。如果你有时间,我还有一个关于行高的问题:stackoverflow.com/questions/70424298/… 节日快乐,太:-)
    猜你喜欢
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    相关资源
    最近更新 更多