css - :hover selector works but :focus does not

标签 css angular

我正在使用 Angular 4,我选择了 :hovermat-card,这看起来不错。我在 mat-card 中添加了一个 click 事件,点击时我希望背景保持与悬停颜色相同的颜色,直到另一个元素被点击。

  <mat-card>
    <div fxLayout="row" fxLayout.xs="column">
      <div class="card-label" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>Version Number:</span>
      </div>
      <div class="card-value" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>{{version.versionNumber}}</span>
      </div>
    </div>
    <div fxLayout="row" fxLayout.xs="column">
      <div class="card-label" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>User:</span>
      </div>
      <div class="card-value" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>{{version.user}}</span>
      </div>
    </div>
    <div fxLayout="row" fxLayout.xs="column">
      <div class="card-label" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>Created Date:</span>
      </div>
      <div class="card-value" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>{{version.createdDate | date: 'dd/MM/yyyy'}}</span>
      </div>
    </div>
    <div fxLayout="row" fxLayout.xs="column">
      <div class="card-label" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>Start Date:</span>
      </div>
      <div class="card-value" fxFlex.xl="50" fxFlex.lg="50" fxFlex.md="50" fxFlex.sm="50" fxFlex.xs="100">
        <span>{{version.startDate | date: 'dd/MM/yyyy'}}</span>
      </div>
    </div>
  </mat-card>

CSS:

mat-card:hover {
    background-color: rgba(42, 63, 84, .2);
}

mat-card:focus {
    background: blue;
}

就像我说的悬停效果很好但 :focus 不行。

最佳答案

是的,因为您可以将焦点事件应用到您可以关注的元素上。例如,这是一个输入字段。你不能给 :focus 一个 div 容器。

#somediv:hover {
  background-color: orange;
}

#someinput:focus {
  background-color: blue;
}
<div id="somediv">Sometext</div>
<input id="someinput">

寻找那个代码。单击输入,然后将应用 :focus。

关于css - :hover selector works but :focus does not,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48083666/

相关文章:

html - wrapper 和 div 溢出

html - 在新的 div 中打开的缩略图(不是灯箱)

javascript - Css:如何用边框线连接两个点

angularjs - 如何在 Angular2 中进行 HTTP POST 调用并打印响应

javascript - 呈现页面时不显示文本,但如果我之后从 devtools 更改布局,则会显示文本

PHP 图像 if else CSS

css - 无法为 ng-sidebar 设置背景

javascript - *ngFor 强制按升序打印

javascript - Ngrx/store - 使用类的 Action 创建者与使用工厂功能的 Action 创建者?

java - 在 cpanel 中以 Angular 方式部署前端,以 Java 方式部署后端