User:弃权者/Template:少女前线信息/styles.css
来自OGAS数据中枢
更多操作
.gf-infobox-new {
display: flex;
flex-wrap: wrap;
width: 100%;
margin-top: 1em;
background-color: var(--color-surface-0);
border: 1px solid var(--border-color-subtle);
border-radius: 8px;
overflow: hidden;
clear: both;
}
.gf-left-panel {
flex: 0 0 65%;
border-right: 1px solid var(--border-color-subtle);
position: relative;
overflow: hidden;
background-image: url('/wiki/Special:FilePath/图鉴背景.jpg');
background-size: cover;
background-position: center bottom;
background-repeat: no-repeat;
}
.gf-image-container {
height: 480px;
display: flex;
align-items: flex-end;
justify-content: center;
padding: 10px 10px 0 10px;
cursor: default;
position: relative;
}
.gf-main-img,
.gf-main-img a,
.gf-main-img img {
max-width: 100% !important;
max-height: 100% !important;
width: auto !important;
height: auto !important;
object-fit: contain;
display: block;
margin: 0 auto;
}
.gf-image-container img {
transition: opacity 0.3s ease;
}
.gf-image-container.loading img {
filter: grayscale(1) opacity(0.5);
}
.gf-view-original {
position: absolute;
right: 12px;
bottom: 12px;
width: 32px;
height: 32px;
border-radius: 50%;
z-index: 10;
cursor: pointer;
background-color: var(--color-surface-3);
border: 1px solid var(--border-color-subtle);
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 16px;
transition: transform 0.2s, background-color 0.2s, border-color 0.2s;
}
.gf-view-original:hover {
background-color: var(--color-primary);
border-color: var(--color-primary);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E");
transform: scale(1.1);
}
.gf-bg-selector {
position: absolute;
right: 50px;
bottom: 12px;
width: 150px;
height: 32px;
z-index: 10;
padding: 0 8px;
font-size: 13px;
border-radius: 4px;
background-color: var(--color-surface-3);
border: 1px solid var(--border-color-subtle);
color: var(--color-base);
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
cursor: pointer;
}
.gf-bg-selector:focus {
outline: none;
border-color: var(--color-primary);
}
.gf-switcher-overlay {
position: absolute;
left: 10px;
top: 10px;
z-index: 20;
display: flex;
flex-direction: column;
gap: 6px;
max-height: calc(100% - 60px);
}
.gf-switcher-toggle {
width: 32px;
height: 32px;
background: var(--background-color-interactive-subtle, var(--color-surface-3));
border: 1px solid var(--border-color-subtle);
border-radius: 4px;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
color: var(--color-base);
flex-shrink: 0;
align-self: flex-start;
}
.gf-switcher-toggle:hover {
background: var(--background-color-interactive, var(--color-surface-4));
}
.gf-switcher-toggle::before {
content: "≡";
font-weight: bold;
}
.gf-switcher-list {
display: flex;
flex-direction: column;
gap: 3px;
overflow-y: scroll;
transition: opacity 0.2s;
padding-bottom: 4px;
}
.gf-switcher-overlay.collapsed .gf-switcher-list {
opacity: 0;
pointer-events: none;
}
.gf-group-btn {
background: rgba(0, 0, 0, 0.75) !important;
border: 1px solid rgba(255, 255, 255, 0.6) !important;
color: #fff !important;
border-radius: 4px;
padding: 5px 10px;
cursor: pointer;
font-size: 12px;
font-weight: bold;
transition: background-color 0.2s, border-color 0.2s;
backdrop-filter: blur(4px);
box-shadow: 0 2px 4px rgba(0,0,0,0.25);
user-select: none;
}
.gf-group-btn:hover {
background: rgba(50, 50, 50, 0.85) !important;
border-color: #fff !important;
}
.gf-group-btn.active {
border-color: #ff8c00 !important;
box-shadow: 0 0 5px rgba(255,140,0,0.5), 0 2px 4px rgba(0,0,0,0.25);
}
.gf-variant-list {
display: flex;
flex-direction: column;
gap: 2px;
padding-left: 10px;
overflow: hidden;
max-height: 500px;
transition: max-height 0.25s ease, opacity 0.2s ease;
opacity: 1;
}
.gf-variant-list.collapsed {
max-height: 0;
opacity: 0;
pointer-events: none;
}
.gf-switch-btn {
background: rgba(0, 0, 0, 0.65) !important;
border: 1px solid rgba(255, 255, 255, 0.5) !important;
color: #ddd !important;
border-radius: 3px;
padding: 3px 8px;
cursor: pointer;
font-size: 11px;
transition: background-color 0.2s, border-color 0.2s, color 0.2s;
backdrop-filter: blur(4px);
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
user-select: none;
}
.gf-switch-btn::before {
content: "· ";
opacity: 0.6;
}
.gf-switch-btn:hover {
background: rgba(40, 40, 40, 0.8) !important;
border-color: #fff !important;
color: #fff !important;
}
.gf-switch-btn.active {
background: rgba(20, 20, 20, 0.8) !important;
border-color: #ff8c00 !important;
color: #fff !important;
box-shadow: 0 0 4px rgba(255,140,0,0.4), 0 1px 3px rgba(0,0,0,0.2);
}
.gf-switch-btn.active::before {
content: "▶ ";
opacity: 1;
color: #ff8c00;
}
.gf-right-panel {
flex: 1;
min-width: 280px;
}
.gf-info-table,
.gf-bottom-table {
width: 100%;
border-collapse: collapse;
margin: 0 !important;
}
.gf-header-row {
background: var(--color-surface-2) !important;
padding: 10px !important;
text-align: center !important;
font-weight: bold;
color: var(--color-base);
}
.gf-label {
background: var(--color-surface-2);
padding: 8px 10px;
font-weight: bold;
width: 1px;
white-space: nowrap;
border-bottom: 1px solid var(--border-color-subtle);
border-right: 1px solid var(--border-color-subtle);
color: var(--color-base);
}
.gf-info-table td,
.gf-bottom-table td {
padding: 8px 12px;
border-bottom: 1px solid var(--border-color-subtle);
color: var(--color-base);
}
.gf-bottom-section {
margin-top: 15px;
border: 1px solid var(--border-color-subtle);
border-radius: 8px;
overflow: hidden;
background: var(--color-surface-0);
}
@media screen and (max-width: 768px) {
.gf-infobox-new {
flex-direction: column;
}
.gf-left-panel {
flex: none;
width: 100%;
border-right: none;
border-bottom: 1px solid var(--border-color-subtle);
}
.gf-image-container {
height: 65vw;
min-height: 300px;
align-items: center;
padding: 10px;
}
.gf-group-btn {
padding: 7px 12px;
font-size: 13px;
}
.gf-switch-btn {
padding: 5px 10px;
font-size: 12px;
}
}