【问题标题】:Creating custom arrow in Angular Material sort header在 Angular Material 排序标题中创建自定义箭头
【发布时间】:2018-12-06 09:34:22
【问题描述】:

我正在创建 Angular 5 项目,我想在排序标题中创建自定义排序图标以实现此效果 https://fontawesome.com/icons/caret-up?style=solid。我不想有这个默认箭头。

我尝试更改 css 样式,但似乎不起作用。或者有没有办法通过自定义使用JS来替换这个图标?

::ng-deep  {

    .cdk-visually-hidden {
        border: 0;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    .mat-sort-header-stem {
        background: none;
        display: none !important;
    }

    .mat-sort-header-container {
        position: relative;
    }
    .mat-sort-header-indicator {

      transform: translateY(0px) !important;
    }

    .mat-sort-header-arrow {
        position: absolute;
        right: 20px;
        transform: translateY(0%) !important;
    }


  } 

感谢您的任何建议。

编辑。

如果有人遇到这个问题,我通过向 mat-sort-header 元素添加自定义指令来解决它。我还将排序方向(ASC 或 DESC)传递给指令。最后根据方向,我使用纯 CSS 自定义了排序图标。

【问题讨论】:

  • 试试这个点击here mat-sort icon change like caret-up

标签: javascript css angular angular-material


【解决方案1】:

看看对你有没有帮助

.triangle {
    overflow: hidden;
    position: relative;
    margin: 2em auto;
    border-radius: 20%;
    transform: translateY(50%) rotate(30deg) skewY(30deg) scaleX(.866);
    width: 5em;
    height: 5em;
}

.triangle:before {
    border-radius: 20% 20% 20% 53%;
    transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(30deg) scaleY(.866) translateX(-24%);
    position: absolute;
    background: #ccc;
    pointer-events: auto;
    content: '';
    width: 5em;
    height: 5em;
}

.triangle:after {
    border-radius: 20% 20% 53% 20%;
    transform: scaleX(1.155) skewY(-30deg) rotate(-30deg) translateY(-42.3%) skewX(-30deg) scaleY(.866) translateX(24%);
    position: absolute;
    background: #ccc;
    pointer-events: auto;
    content: '';
    width: 5em;
    height: 5em;
}
<div class="triangle"></div>

【讨论】:

  • 您的建议很有帮助,但我以不同的方式解决了它。我必须将指令添加到排序按钮以检测排序方向。之后,我使用 CSS 为按钮设置样式。还是谢谢你的回答。
  • 我也遇到了同样的问题,请问您能提供更多解决方案的细节吗?
猜你喜欢
  • 2018-07-25
  • 2016-11-24
  • 2021-08-08
  • 2018-10-24
  • 2013-02-17
  • 2021-05-14
  • 2011-12-06
  • 2018-03-26
  • 1970-01-01
相关资源
最近更新 更多