如何覆盖 ng-bootstrap datepicker element.style

how to overwrite ng-bootstrap datepicker element.style

我正在使用 ng-bootstrap datepicker 并且遇到底部边框被切割的问题,这可能是因为嵌套的 div classes 被应用但我不想调查每个嵌套的 div class 来弄清楚,我想覆盖我通过 chrome 开发工具发现的 ng-datepicker 属性 (转换)导致问题。请查看 issue.so 的附件图片,在 chrome 中,当我单击日历图标时,显示的日期选择器底部边框被切掉,下面是 css/properties 正在应用

    <ngb-datepicker class="dropdown-menu show" style="padding: 0px; position: absolute; top: 0px; left: 0px; transform: translate(0px, 28px);">

element.style {
    padding: 0px;
    position: absolute;
    top: 0px;
    left: 0px;
    transform: translate(0px, 28px);
}

在 chrome 中,当我将变换 属性 更改为

    transform: translate(0px, -42px)

已解决问题。我不想对样式进行硬编码,希望在 angular 6 中的 style.css 中定义 class 以便它应用于所有 ng-datepicker.How 以覆盖这个变换 属性?

您可以为 ngb-datepicker 设置一个 class 或 id 和特定的样式。

  <ngb-datepicker class="dropdown-menu show mydatepicker">

在style.css

.mydatepicker{
    padding: 0px;
    position: absolute;
    top: 0px;
    left: 0px;
    transform: translate(0px, -42px);
}

我终于能够在 style.css 中使用 !important 覆盖 ngbdatepicker,如下所示:

    ngb-datepicker{
  left: 0px !important;
  top: 0px !important;
  padding-top: 0px !important;
  padding-right: 0px !important;
  padding-bottom: 0px !important;
  padding-left: 0px !important;
  position: absolute !important;
  transform: translate(0px, 28px)!important;
}

这是我的 HTML 片段

> <div class="q-datepicker position-relative w-100">
                    <input
                        formControlName="From"
                        class=" form-control rounded-corner bg-white primary-font-color"
                        placement="bottom"
                        placeholder=""
                        [minDate]=""
                        ngbDatepicker
                        #d="ngbDatepicker"
                        readonly=""
                    />
                    <button
                        type="button"
                        (click)="d.toggle()"
                    >
                        <i class="far fa-calendar-alt"></i>
                    </button>
                </div>

我添加到div标签"q-datepicker" class然后在style.css

中添加以下样式
.q-datepicker{
ngb-datepicker{
  left:0 !important;
  width: 350px;
  .ngb-dp-months{
    .ngb-dp-month{
      width: 100%;
      .ngb-dp-weekday{
        width: 2.5rem;
        margin-right: .5rem;
      }
      .ngb-dp-week{
        .ngb-dp-day{
            width: 2.5rem;
            margin-right: .5rem;
            div{
                width: 100%;
            }
        }
      }
    }
  }
}

}