身份卡——后室

瞎搞、瞎整、瞎玩

这是本网站内使用的模板

反正别乱动就行


这是一个用于制作装饰性身份卡的组件,使用例可见此处

[[include :thejotaro:component:id-card |css=--
|photo=https://scp-wiki.wdfiles.com/local--files/estrellayoshte/u.png
|level=3 支持 1 到 5
|name=Suong Yvonne
|dept=设计部门 |position=肖像画师
|id-number= 3492-775201
|expiry=06/2029
]]

如果一个页面中出现了多张身份卡,那么你仅需要填写一次 css 参数,且在随后的 [[include]] 里面均可将其省略。

@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Barcode+128&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Share+Tech+Mono&display=swap');
 
:root {
    --id-card-five-color: 196,2,51;
    --id-card-four-color: 255,109,0;
    --id-card-three-color: 255,211,0;
    --id-card-two-color: 0,135,189;
    --id-card-one-color: 0,159,107;
 
    --id-card-margin: min(1.5rem, calc(1.75vw + 0.325rem));
    --id-card-border-color: 210,210,210;
    --id-card-text-color: 20,20,20;
    --id-card-subtext-color: 140,140,140;
    --id-card-background-color: 252,252,252;
    --id-card-background-logo: url('http://backrooms-sandbox-2.wdfiles.com/local--files/trailmixncocoa-meg-theme/IMG_3129.PNG');
    --id-card-background-logo-opacity: 0.075;
}
 
#page-content .foundation-id-card {
    max-width: calc(var(--id-card-margin)*24.5);
}
.foundation-id-card {
    display: grid;
    grid-template-areas:
        "pfp level"
        "pfp info"
        "extra extra";
    grid-template-columns: 30% 1fr;
    grid-template-rows: calc(var(--id-card-margin)*3) auto auto;
    grid-gap: calc(var(--id-card-margin)*0.625);
    box-sizing: border-box;
    padding: var(--id-card-margin);
    margin: 1.5rem auto;
    border-radius: calc(var(--id-card-margin)*0.75);
    box-shadow: 0 0 0.325rem rgba(0,0,0,0.175);
    font-family: 'Lexend', sans-serif;
    color: rgb(var(--id-card-text-color));
    background-color: rgb(var(--id-card-background-color));
    position: relative;
    z-index: 0;
    overflow: hidden;
}
.foundation-id-card::before {
    content: "";
    display: block;
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    opacity: var(--id-card-background-logo-opacity);
    background-image: var(--id-card-background-logo);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 150% 50%;
    z-index: -1;
}
 
.foundation-id-card .profile-picture {
    grid-area: pfp;
    box-sizing: border-box;
    border: solid 0.125rem rgb(var(--id-card-border-color));
    border-radius: min(0.5rem, 1vw);
    aspect-ratio: 4/5;
    overflow: hidden;
    position: absolute;
}
.foundation-id-card .profile-picture img {
    height: relative;
    object-fit: cover;
}
 
.foundation-id-card .level-container {
    grid-area: level;
    display: flex;
    grid-gap: calc(var(--id-card-margin)*0.325);
    align-items: center;
}
.foundation-id-card .level-container .levels {
    display: flex;
    flex-direction: column;
    grid-gap: calc(var(--id-card-margin)*0.285);
    max-height: calc(var(--id-card-margin)*3);
    justify-content: flex-start;
    flex-grow: 1;
}
.foundation-id-card .level-container .levels .level {
    display: none;
    flex-basis: calc(var(--id-card-margin)*0.5);
    flex-shrink: 1;
}
.foundation-id-card .level-container .levels.l-1 .level:is(:nth-child(1)) {
    display: block;
    background-color: rgb(var(--id-card-one-color));
}
.foundation-id-card .level-container .levels.l-2 .level:is(:nth-child(1), :nth-child(2)) {
    display: block;
    background-color: rgb(var(--id-card-two-color));
}
.foundation-id-card .level-container .levels.l-3 .level:is(:nth-child(1), :nth-child(2), :nth-child(3)) {
    display: block;
    background-color: rgb(var(--id-card-three-color));
}
.foundation-id-card .level-container .levels.l-4 .level:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4)) {
    display: block;
    background-color: rgb(var(--id-card-four-color));
}
.foundation-id-card .level-container .levels.l-5 .level {
    display: block;
    background-color: rgb(var(--id-card-five-color));
}
 
.foundation-id-card .access {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    top: 0;
    right: 0;
    text-align: right;
    text-transform: uppercase;
    font-weight: bold;
    font-size: calc(var(--id-card-margin)*1.425);
    line-height: calc(var(--id-card-margin)*1.325);
}
.foundation-id-card .access span:first-child { font-size: 103.5%; }
.foundation-id-card .access br { display: none; }
 
.foundation-id-card .info {
    grid-area: info;
    display: flex;
    flex-wrap: wrap;
    row-gap: calc(var(--id-card-margin)*0.375);
}
.foundation-id-card .info > * {
    flex-grow: 1;
}
.foundation-id-card .info > .fullname {
    flex-basis: 100%;
}
.foundation-id-card .info > * br { display: none; }
.foundation-id-card .info > * .heading {
    display: block;
    text-transform: uppercase;
    font-size: calc(var(--id-card-margin)*0.675 + 0.075rem);
    letter-spacing: -0.025em;
    color: rgb(var(--id-card-subtext-color));
}
.foundation-id-card .info > * .fill-info {
    font-size: calc(var(--id-card-margin) + 0.05rem);
    font-weight: bold;
    line-height: 1.05;
}
.foundation-id-card .info > .fullname .fill-info {
    font-size: calc(var(--id-card-margin)*1.1 + 0.125rem);
}
 
.foundation-id-card .card-end {
    grid-area: extra;
    display: flex;
    height: calc(var(--id-card-margin)*2);
    align-items: center;
    padding-top: calc(var(--id-card-margin)*0.625);
    grid-gap: calc(var(--id-card-margin)*0.375);
    border-top: solid 0.125rem rgb(var(--id-card-border-color));
}
.foundation-id-card .card-end .barcode {
    font-family: 'Libre Barcode 128', cursive;
    user-select: none;
    flex-basis: 67.5%;
    flex-grow: 1;
    overflow: hidden;
    white-space: nowrap;
    font-size: calc(var(--id-card-margin)*3.5);
    align-self: flex-start;
    clip-path: inset(0);
}
.foundation-id-card .card-end .expire {
    color: rgb(var(--id-card-subtext-color));
    font-size: calc(var(--id-card-margin)*0.525);
    font-family: 'Share Tech Mono', monospace;
    align-self: flex-end;
    text-align: right;
    width: max-content;
}
.foundation-id-card .card-end .expire .id .sublead { font-size: 80%; margin-right: 0.75ch; }
.foundation-id-card .card-end .expire .id { font-size: 115%; }
{$photo}
{$level} 级
权限
姓名
{$name}
部门
{$dept}
职位
{$position}
{$id-number}{$id-number}
身份编号{$id-number}
有效期至 {$expiry}
并不全部符合CC BY-SA 3.0协议,但已完成的备份页面是的