hexo-theme-reimu
Version:
A Hakurei Reimu style Hexo theme
128 lines (111 loc) • 2.49 kB
text/stylus
.sponsor-wrapper {
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
margin: 8px 0 4px;
}
.sponsor-title {
font-size: 18px;
letter-spacing: 2px;
color: var(--color-link);
opacity: 0.8;
text-decoration: none;
transition: opacity 0.2s;
display: block;
padding: 10px 0;
font-weight: 700;
user-select: none;
word-break: break-word;
}
.sponsor-icon {
width: 30px;
margin: 0 10px;
opacity: 0.8;
&.rotate {
animation: rotate-all 3s linear infinite;
}
}
if (hexo-config('sponsor.icon.mask')) {
@supports (-webkit-mask: var(--sponsor-icon) no-repeat center / 80%) {
.sponsor-icon {
background-color: var(--red-1);
-webkit-mask: var(--sponsor-icon) no-repeat center / 80%;
}
}
@supports (mask: var(--sponsor-icon) no-repeat center / 80%) {
.sponsor-icon {
background-color: var(--red-1);
mask: var(--sponsor-icon) no-repeat center / 80%;
}
}
@supports not ( (mask: var(--sponsor-icon) no-repeat center / 80%) and (-webkit-mask: var(--sponsor-icon) no-repeat center / 80%) ) {
.sponsor-icon {
background: var(--sponsor-icon) no-repeat center / 80%;
}
}
} else {
.sponsor-icon {
background: var(--sponsor-icon) no-repeat center / 80%;
}
}
.sponsor-button {
margin: 8px 48px;
display: flex;
position: relative;
width: fit-content;
justify-content: center;
border: 10px var(--color-red-3-shadow) double;
transition: border 0.5s;
cursor: var(--cursor-pointer) ;
&:hover {
border-color: var(--color-h2-after);
}
&:hover + .sponsor-tip {
opacity: 0.8;
}
&.active {
border-color: var(--color-h2-after);
}
}
.sponsor-tip {
transition: opacity 0.2s;
color: var(--color-link);
opacity: 0;
font-size: 14px;
font-weight: 700;
letter-spacing: 1px;
&.active {
opacity: 0.8;
}
}
.sponsor-qr {
display: flex;
interpolate-size: allow-keywords;
gap: 4px;
width: 100%;
flex-wrap: wrap;
justify-content: center;
margin-top: 8px;
height: 0;
overflow: hidden;
transition: height 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
opacity: 0;
transform: translateY(-10px);
&.active {
height: auto;
opacity: 1;
transform: translateY(0);
}
}
.sponsor-qr-image-wrapper {
display: flex;
flex-direction: column;
align-items: center;
}
.sponsor-qr-name {
font-size: 14px;
opacity: 0.9;
color: var(--color-default);
margin-top: 8px;
}