Angular Material,使用无卡片的mat-card-avatar
Angular Material, using mat-card-avatar without a card
我只想添加一张小圆形个人资料照片,我不希望它出现在 "card" 中,像这样的东西确实有效:
<img mat-card-avatar src="avatar.png" alt="User Avatar">
<img>
不包含在 <mat-card>
元素中,尽管它有效,但我想知道解决方案的合法性和可能的副作用。那么可以在 mat-card 元素之外使用像 mat-card-avatar 这样的 mat-card-avatar 吗?
我也花了很长时间才找到这个指令,为什么头像名称空间应该是卡片的一部分,而它通常可以在其他上下文中使用?例如,我把它放在垫子工具栏中。
从源码来看,mat-card-avatar
指令无非是将mat-card-avatar
class赋值给指令的元素,只是增加了一点样式来产生头像外观.所以在 mat-card
.
之外使用它没有什么坏处
至于为什么通用的东西成为 MatCard 组件的一部分 - 可能是因为他们不想付出额外的努力来测试和支持它的其他用途,并制作 MatCard使用通用缩略图可以正常工作。它也可能与 Material Design 将其指定为卡片的元素这一事实有关,尽管为列表(可能还有其他地方)指定了相同的元素并作为另一个指令存在 mat-list-icon
(样式代码有点不同)。归功于团队中没有人真正关心像这样的小事。
使用它的一个缺点是您必须导入整个 MatCard 模块才能使用它。如果您在您的应用程序中使用 mat-card
没问题,但如果您不使用它,它会给您的应用程序增加不必要的大小。最好只是窃取 style code 并创建自己的 class.
$mat-card-header-size: 40px !default;
.mat-card-avatar {
height: $mat-card-header-size;
width: $mat-card-header-size;
border-radius: 50%;
flex-shrink: 0;
// Makes `<img>` tags behave like `background-size: cover`. Not supported
// in IE, but we're using it as a progressive enhancement.
object-fit: cover;
}
我只想添加一张小圆形个人资料照片,我不希望它出现在 "card" 中,像这样的东西确实有效:
<img mat-card-avatar src="avatar.png" alt="User Avatar">
<img>
不包含在 <mat-card>
元素中,尽管它有效,但我想知道解决方案的合法性和可能的副作用。那么可以在 mat-card 元素之外使用像 mat-card-avatar 这样的 mat-card-avatar 吗?
我也花了很长时间才找到这个指令,为什么头像名称空间应该是卡片的一部分,而它通常可以在其他上下文中使用?例如,我把它放在垫子工具栏中。
从源码来看,mat-card-avatar
指令无非是将mat-card-avatar
class赋值给指令的元素,只是增加了一点样式来产生头像外观.所以在 mat-card
.
至于为什么通用的东西成为 MatCard 组件的一部分 - 可能是因为他们不想付出额外的努力来测试和支持它的其他用途,并制作 MatCard使用通用缩略图可以正常工作。它也可能与 Material Design 将其指定为卡片的元素这一事实有关,尽管为列表(可能还有其他地方)指定了相同的元素并作为另一个指令存在 mat-list-icon
(样式代码有点不同)。归功于团队中没有人真正关心像这样的小事。
使用它的一个缺点是您必须导入整个 MatCard 模块才能使用它。如果您在您的应用程序中使用 mat-card
没问题,但如果您不使用它,它会给您的应用程序增加不必要的大小。最好只是窃取 style code 并创建自己的 class.
$mat-card-header-size: 40px !default;
.mat-card-avatar {
height: $mat-card-header-size;
width: $mat-card-header-size;
border-radius: 50%;
flex-shrink: 0;
// Makes `<img>` tags behave like `background-size: cover`. Not supported
// in IE, but we're using it as a progressive enhancement.
object-fit: cover;
}