如何在原生 HTML 元素中只显示日期图标?

How to Show only date icon in native HTML element?

不确定是否可以只显示输入类型日期的图标。

<input type="datetime-local" id="test" name="test">

如下所示,我试图在 Angular material table 行中显示日期选择器(执行 *ngFor)并在单击日期图标时触发日期时间。

  1. 不知道删除或隐藏输入 border,mm/dd/yyyy 的确切 css 是什么 --:-- --
  2. 不确定如果我在找到合适的 css.css.
  3. 后隐藏其余元素,它会如何表现

候补

经过大量搜索,找到了这个 alternate package 并实现了,但它在应用程序内部看起来很奇怪。

所以决定回去使用原生 html 元素。

谁能帮我看看如何只显示日期时间图标?

或者建议我 Angular 的日期时间选择器包?

感谢大家

补充我的评论

使用 ngbdatepicker

  <div
    ngbDropdown
    class="form-group"
    placement="bottom-rigth"
    #myDrop="ngbDropdown"
    (openChange)="open($event, dp)"
  >
    <div class="input-group">
      <button
        ngbDropdownToggle
        class="btn btn-outline-secondary calendar"
        type="button"
      ></button>
      <div ngbDropdownMenu>
        <ngb-datepicker
          #dp
          (select)="onDateSelection($event, myDrop)"
          [displayMonths]="2"
          [dayTemplate]="t"
          outsideDays="hidden"
        >
        </ngb-datepicker>
      </div>
    </div>
  </div>

使用 material 日期选择器

<button mat-icon-button [matMenuTriggerFor]="appMenu">
  <mat-icon>calendar_today</mat-icon>
</button>
<mat-menu #appMenu="matMenu" class="drop-calendar" >
    <div (click)="$event.stopPropagation()">
        <mat-calendar #calendar (selectedChange)="select($event,calendar)" ></mat-calendar>
    </div>
</mat-menu>

为了在 Chrome 开发人员工具中发现 -webkit 属性,我进入了设置 > 首选项 > 元素,然后选中“显示用户代理影子 DOM”。进行此更改后,我 selected datetime-local 元素并深入研究底层 div 伪元素,并通过将以下 CSS 添加到我的页面发现,我能够只显示日历图标。

input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
    /* display: none;
    -webkit-appearance: none; */
    margin:0;
}
input[type="datetime-local"]::-webkit-datetime-edit {
    display:none;
}

结果是:,只显示日历图标,直到用户单击 select 一个日期。