首页 > 解决方案 > 使用 Angular 6 在输入中单击后如何更改框阴影?

问题描述

我在我的项目中使用 angular 6 和材质,并且我有一个输入框。我希望在单击输入后更改框阴影,然后单击退出,这是我的代码:

.html

<div class="search-bar" fxFlex>
    <form class="search-form" fxShow="false" fxShow.gt-xs>
      <mat-icon>search</mat-icon>
      <input type="text" matInput (keyup)="applyFilter($event.target.value)" placeholder="Search" autofocus="true" />
    </form>
  </div>

.css

 .search-bar .search-form {
    background: rgba(255,255,255,1);
    position: relative;
    margin-right: 5px;
    display: block;
    width: 99.8%;
    border: solid 1px rgba(119, 119, 119, .55);
    box-shadow: 0 2px 12px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);
  } 

我不知道如何获得输入的活动状态

标签: htmlcssinputangular6box-shadow

解决方案


你可以做的是使用:focus伪类:

input:focus form {
    box-shadow: 0 2px 12px 0 rgba(0,0,0,0.16),0 0 0 1px rgba(0,0,0,0.08);
}

如果它不集中:

input:not(:focus) form {
    box-shadow: none;
}

推荐阅读