css - 如何使素材卡内的图标居中
问题描述
我只是css和角度材料的新手,我想问一下我们如何根据figma的设计将图标居中在卡片上,我尝试从figma复制css但它没有基于图标居中设计。有谁知道使图标居中的技术?它需要弹性布局吗?为什么当我将 figma 实现为 css 和 html 时的 css 不一样?我只是从figma复制粘贴的。谢谢你的帮助。
下图中的EG图标是我想放在材料卡里面的中心。
我当前的 CSS
.custom.mat-card {
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 16px 16px 32px;
position: static;
width: 448px;
height: 527px;
margin-left: 142px;
margin-top: 64px;
background: #ffffff;
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
border-radius: 4px;
}
.name-icon {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
padding: 0px;
position: static;
left: 28.81%;
right: 28.81%;
top: 0%;
bottom: 49.21%;
flex: none;
order: 0;
flex-grow: 0;
margin: 8px 0px;
}
我当前的 HTML 代码
<div>
<mat-card class="custom">
<app-user-profile-icon class="icon"
*ngIf="this.data.firstName && this.data.lastName"
[firstName]="this.data.firstName"
[lastName]="this.data.lastName"
[size]="32"
style="padding-right: 8px;">
</app-user-profile-icon>
</mat-card>
</div>
Figma 设计的 CSS
解决方案
欢迎来到 S/O :)
你想要align-items: center
而不是align-items: flex-start
.
.custom.mat-card {
display: flex;
flex-direction: column;
align-items: center; /* This */
/* align-items: flex-start; */ /* Instead of this */
padding: 16px 16px 32px;
position: static;
width: 448px;
height: 527px;
margin-left: 142px;
margin-top: 64px;
background: #ffffff;
box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2),
0px 2px 2px rgba(0, 0, 0, 0.14), 0px 1px 5px rgba(0, 0, 0, 0.12);
border-radius: 4px;
}
这是一个StackBlitz的实际应用。
推荐阅读
- google-fonts - 谷歌字体适用于桌面网站,但不适用于移动设备?
- python - Pyspark NameError:将 csv 文件从本地机器读入 Pyspark 数据帧
- spring-boot - RabbitMq:禁止消费者创建队列
- google-data-studio - 如何计算两个字段日期之间的天数
- java - 在 Fragment 中获取 JSON 数据时连接到服务器时出错
- google-cloud-platform - 如何释放我错误保留的静态内部 IP 地址?
- shell - 存储从 Shell 脚本登录 SQLPLUS 的密码
- dax - 使用过滤器计算分组依据的 DAX 公式
- selenium - 基于我之前的 qu-如何使用 selenium java 对下拉列表中的每个值执行一些操作?
- ubuntu - 在 Ubuntu 18.04.1 LTS 中安装 Neo4j