@mixin ellipsis($row) { overflow: hidden; text-overflow: ellipsis; @if $row == 1 { display: block; white-space: nowrap; word-wrap: normal; } @else if $row >= 2 { display: -webkit-box; -webkit-line-clamp: $row; -webkit-box-orient: vertical; word-wrap: break-word; } } ::ng-deep .mat-card-header-text { .mat-card-subtitle { color: rgb(256, 256, 256, 0.7) !important; } } .example-card { display: flex; flex-flow: row; flex: 0 0 auto; width: 700px; height: 450px; position: relative; padding: 0; .mat-card-header { position: relative; justify-content: flex-start; flex-flow: column; width: 260px; height: 100%; background: #64cddf; color: #ffffff; padding: 20px; .profile-img { position: absolute; display: flex; flex-flow: row; align-items: flex-end; top: 20px; margin-bottom: 12px; &-mask { width: 80px; height: 80px; border-radius: 50%; overflow: hidden; border: 2px solid #ffffff; margin-right: 10px; img { width: 80px; height: auto; background-color: #efefef; } } .work-status { display: inline-flex; height: 24px; border: 1px solid #ffffff; padding: 4px 14px; border-radius: 100px; font-size: 13px; justify-content: center; align-items: center; color: #ffffff; &.morning-off { background-color: #11845d; } &.afternoon-off { background-color: #875acb; } &.day-off { background-color: #2b98eb; } &.long-time { background-color: #c72f20; } &.leave-of-absence { background-color: #e7853e; } } } .mat-card-title { display: flex; flex-flow: column; margin-top: 120px; span { @include ellipsis(1); &.name { font-size: 1.2em; line-height: 1.4em; } &.number { font-size: 0.8em; } } } .mat-card-subtitle { margin-left: -16px; font-size: 1.1em; flex-flow: column; span { @include ellipsis(1); &.deptName { font-size: 1.2em; line-height: 1.4em; } } } .intro { @include ellipsis(3); } .profile-option { position: absolute; bottom: 20px; display: flex; flex-flow: row; .btn-favorite { cursor: pointer; .on { fill: yellow; } } .btn-groupadd { margin-left: 20px; cursor: pointer; svg { display: none; &.on { display: block; } } } } .profile-edit { position: absolute; bottom: 20px; width: 20px; height: 20px; svg { fill: #ffffff; } } } .mat-card-content { position: relative; width: 440px; height: 100%; padding: 10px 0; margin-left: 30px; ul { display: flex; flex-flow: column; li { display: flex; flex-direction: row; height: 30px; align-items: center; flex-flow: row; margin-bottom: 14px; dt { width: 100px; font-weight: 800; @include ellipsis(1); } dd { width: 260px; margin-right: 20px; @include ellipsis(1); } } } .mat-card-actions { position: absolute; width: 100%; bottom: 0; border-top: 1px solid #dddddd; padding-top: 14px; margin-top: auto; } } } ::ng-deep .btn-upload-profile-image { display: flex; margin-left: -26px; margin-right: 10px; width: 36px; height: 36px; line-height: 36px; justify-content: center; justify-content: center; &.mat-mini-fab { .mat-button-wrapper { display: flex; justify-content: center; justify-items: center; padding: 0; } } } ::ng-deep .userInfo-call { position: relative; display: flex; flex: 0 0 auto; width: 34px; height: 34px; line-height: 34px; justify-content: center; justify-items: center; .mat-button-wrapper { padding: 0; width: 20px; height: 20px; justify-content: center; text-align: center; svg { fill: #ffffff; display: flex; } } } ::ng-deep .button-text-item { display: flex; button { justify-content: center; justify-items: center; flex-flow: row; &.mat-mini-fab { position: relative; display: flex; width: 40px; height: 40px; //line-height: 40px; .mat-button-wrapper { padding: 0; fill: #ffffff; width: 20px; height: 20px; display: inline-flex; justify-content: center; text-align: center; svg { display: flex; width: 100%; height: 100%; } } } } .button-text { justify-content: center; align-self: center; margin-left: 8px; } }