MediaWiki:Gadget-Infobox.css: Difference between revisions
Appearance
Adjusted grid-item styling |
Fixed styling when infobox has no image |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 8: | Line 8: | ||
--druid-quaternary-background-color: var(--background-color-2b); | --druid-quaternary-background-color: var(--background-color-2b); | ||
--druid-quinary-background-color: var(--background-color-1b); | --druid-quinary-background-color: var(--background-color-1b); | ||
--druid-border-color: var(-- | --druid-border-color: rgba(var(--color-accent--rgb), 0.5); | ||
--druid-link-color: var(-- | --druid-link-color: rgba(var(--color-accent--rgb), 0.5); | ||
--druid-link-label-color: var(--color-base); | --druid-link-label-color: var(--color-base); | ||
--druid-outer-border-radius: 10px; | --druid-outer-border-radius: 10px; | ||
| Line 44: | Line 44: | ||
} | } | ||
.druid-infobox .druid-title { | .druid-infobox .druid-title, | ||
.druid-infobox .druid-subtitle { | |||
background: var(--druid-secondary-background-color); | background: var(--druid-secondary-background-color); | ||
color: var(--druid-secondary-background-label-color); | color: var(--druid-secondary-background-label-color); | ||
| Line 50: | Line 51: | ||
text-align: center; | text-align: center; | ||
font-size: 1.5em; | font-size: 1.5em; | ||
font-family: 'PetitPlanet', 'Montserrat', sans-serif; | |||
padding: 0.15em 0.6em; | |||
} | |||
/* Only when subtitle is immediately after title */ | |||
.druid-infobox > div:has(> .druid-title):has(+ div > .druid-subtitle) > .druid-title { | |||
border-bottom-left-radius: 0; | |||
border-bottom-right-radius: 0; | |||
} | |||
/* Only when no images */ | |||
.druid-infobox:not(:has(.druid-main-image, .druid-main-images)) .druid-title { | |||
margin-bottom: var(--druid-gap); | |||
} | |||
.druid-infobox .druid-subtitle { | |||
background: rgba(var(--color-accent--rgb), 0.8); | |||
font-size: 1.2em; | |||
border-top-left-radius: 0; | |||
border-top-right-radius: 0; | |||
} | } | ||
| Line 56: | Line 77: | ||
color: var(--druid-tertiary-background-label-color); | color: var(--druid-tertiary-background-label-color); | ||
text-align: center; | text-align: center; | ||
font-size: 1. | font-size: 1.35em; | ||
font-family: 'PetitPlanet', 'Montserrat', sans-serif; | |||
font- | |||
border-radius: var(--druid-inner-border-radius); | border-radius: var(--druid-inner-border-radius); | ||
margin-bottom: var(--druid-gap); | margin-bottom: var(--druid-gap); | ||
padding: 0.15em 0.6em; | |||
} | } | ||
| Line 89: | Line 107: | ||
.druid-main-image img, | .druid-main-image img, | ||
.druid-main-images img { | .druid-main-images img { | ||
max-width: 324px; | |||
max-width: | |||
max-height: 500px; | max-height: 500px; | ||
width: auto; | width: auto; | ||
height: auto; | height: auto; | ||
margin: calc( | margin: calc(1px + var(--druid-gap)) 0; | ||
border-radius: var(--druid-inner-border-radius); | border-radius: var(--druid-inner-border-radius); | ||
} | |||
/* Only if no image */ | |||
.druid-infobox div.druid-main-image:not(:has(*)) { | |||
height: var(--druid-gap); | |||
} | } | ||
| Line 104: | Line 125: | ||
flex-wrap: wrap; | flex-wrap: wrap; | ||
justify-content: space-evenly; | justify-content: space-evenly; | ||
padding: calc( | padding: calc(1px + var(--druid-gap)) 0 0 0; | ||
gap: var(--druid-gap); | gap: var(--druid-gap); | ||
} | } | ||
| Line 120: | Line 141: | ||
background: var(--druid-link-color); | background: var(--druid-link-color); | ||
color: var(--druid-link-label-color); | color: var(--druid-link-label-color); | ||
border-color: transparent; | |||
} | } | ||
.druid-main-images-label:not(.focused):hover { | .druid-main-images-label:not(.focused):hover { | ||
background: var(-- | background: rgba(var(--color-accent--rgb), 0.15); | ||
border-color: var(--druid-link-color); | border-color: var(--druid-link-color); | ||
} | } | ||
| Line 221: | Line 243: | ||
} | } | ||
.druid-section-container:last-of-type .druid-row:last-of-type { | .druid-section-container:last-of-type .druid-row:last-of-type, | ||
.druid-section-container:last-of-type .druid-collapsible-collapsed .druid-section { | |||
margin-bottom: 0; | margin-bottom: 0; | ||
} | } | ||
| Line 240: | Line 263: | ||
border-radius: var(--druid-inner-border-radius); | border-radius: var(--druid-inner-border-radius); | ||
box-sizing: border-box; | box-sizing: border-box; | ||
} | } | ||
| Line 271: | Line 290: | ||
} | } | ||
.archive-number { | |||
padding: calc(var(--druid-gap)/4) var(--druid-gap); | |||
border-radius: var(--druid-inner-border-radius); | |||
outline: 1px solid rgba(128, 128, 128, 0.3); | |||
margin-right: 0.25em; | |||
. | |||
} | } | ||
. | .archive-number.quality-none { background: var(--druid-secondary-background-color); } | ||
.archive-number.quality-gray { background: #C7CAB4; } | |||
.archive-number.quality-green { background: #83D083; } | |||
.archive-number.quality-blue { background: #95BFCC; } | |||
.archive-number.quality-purple { background: #A680B1; } | |||
.archive-number.quality-gold { background: #C79D39; } | |||
} | |||
. | .quality-label { | ||
display: inline-flex; | |||
align-items: center; | |||
gap: 0.4rem; | |||
border-radius: var(--druid-inner-border-radius); | |||
line-height: 1; | |||
vertical-align: middle; | |||
} | } | ||
. | .quality-label::before { | ||
content: ""; | |||
width: 0.8rem; | |||
height: 0.8rem; | |||
border-radius: calc(var(--druid-inner-border-radius) - var(--druid-gap)); | |||
display: inline-block; | |||
outline: 1px solid rgba(64, 64, 64, 0.3); | |||
} | } | ||
. | .quality-label.quality-none::before { background: var(--druid-quaternary-background-color); } | ||
.quality-label.quality-gray::before { background: #C7CAB4; } | |||
.quality-label.quality-green::before { background: #83D083; } | |||
.quality-label.quality-blue::before { background: #95BFCC; } | |||
} | .quality-label.quality-purple::before { background: #A680B1; } | ||
.quality-label.quality-gold::before { background: #C79D39; } | |||
. | |||
} | |||
. | |||
} | |||
. | |||
} | |||
. | |||
} | |||
. | |||
. | |||
} | |||
/* Hide dummy infobox */ | /* Hide dummy infobox until extension is removed */ | ||
aside.pi-theme-dummy, | aside.pi-theme-dummy, | ||
aside.pi-theme-dummy ~ aside.portable-infobox + p > br:first-child, | aside.pi-theme-dummy ~ aside.portable-infobox + p > br:first-child, | ||
Latest revision as of 23:33, 21 February 2026
:root,
.druid-container {
--druid-background-color: var(--background-color-0b);
--druid-secondary-background-color: var(--color-accent);
--druid-secondary-background-label-color: var(--color-accent-text);
--druid-tertiary-background-color: var(--background-color-3);
--druid-tertiary-background-label-color: var(--color-base);
--druid-quaternary-background-color: var(--background-color-2b);
--druid-quinary-background-color: var(--background-color-1b);
--druid-border-color: rgba(var(--color-accent--rgb), 0.5);
--druid-link-color: rgba(var(--color-accent--rgb), 0.5);
--druid-link-label-color: var(--color-base);
--druid-outer-border-radius: 10px;
--druid-inner-border-radius: 8px;
--druid-gap: 4px;
}
.druid-container {
border: 6px solid var(--druid-background-color);
border-radius: var(--druid-outer-border-radius);
background: var(--druid-background-color);
float: right;
clear: right;
margin: 5px 0 1em 1em;
width: 100%;
max-width: 340px;
box-sizing: border-box;
border-collapse: collapse;
font-size: 0.85em;
}
@media screen and (max-width: 720px) {
.druid-container {
float:none;
margin: 0.5rem auto;
width: max(100%, 340px);
max-width: max(100%, 340px);
}
}
.druid-main-images-file,
.druid-main-image {
text-align: center;
}
.druid-infobox .druid-title,
.druid-infobox .druid-subtitle {
background: var(--druid-secondary-background-color);
color: var(--druid-secondary-background-label-color);
border-radius: var(--druid-inner-border-radius);
text-align: center;
font-size: 1.5em;
font-family: 'PetitPlanet', 'Montserrat', sans-serif;
padding: 0.15em 0.6em;
}
/* Only when subtitle is immediately after title */
.druid-infobox > div:has(> .druid-title):has(+ div > .druid-subtitle) > .druid-title {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
/* Only when no images */
.druid-infobox:not(:has(.druid-main-image, .druid-main-images)) .druid-title {
margin-bottom: var(--druid-gap);
}
.druid-infobox .druid-subtitle {
background: rgba(var(--color-accent--rgb), 0.8);
font-size: 1.2em;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.druid-infobox .druid-section {
background: var(--druid-tertiary-background-color);
color: var(--druid-tertiary-background-label-color);
text-align: center;
font-size: 1.35em;
font-family: 'PetitPlanet', 'Montserrat', sans-serif;
border-radius: var(--druid-inner-border-radius);
margin-bottom: var(--druid-gap);
padding: 0.15em 0.6em;
}
.druid-infobox .druid-collapsible .druid-section {
flex-grow: 1;
}
.druid-label {
font-weight: bold;
text-align: left;
box-sizing: border-box;
}
.druid-row > .druid-label {
width: 33%;
flex-shrink: 0;
margin-right: var(--druid-gap);
}
.druid-row > .druid-label,
.druid-row > .druid-data {
padding: 0.3em 0.6em;
}
.druid-main-image img,
.druid-main-images img {
max-width: 324px;
max-height: 500px;
width: auto;
height: auto;
margin: calc(1px + var(--druid-gap)) 0;
border-radius: var(--druid-inner-border-radius);
}
/* Only if no image */
.druid-infobox div.druid-main-image:not(:has(*)) {
height: var(--druid-gap);
}
.druid-main-images-labels {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
padding: calc(1px + var(--druid-gap)) 0 0 0;
gap: var(--druid-gap);
}
.druid-main-images-label {
cursor: pointer;
flex: 1 1 auto;
text-align: center;
border: 1px solid var(--druid-border-color);
border-radius: var(--druid-inner-border-radius);
padding: 2px 0;
}
.druid-main-images-label.focused {
background: var(--druid-link-color);
color: var(--druid-link-label-color);
border-color: transparent;
}
.druid-main-images-label:not(.focused):hover {
background: rgba(var(--color-accent--rgb), 0.15);
border-color: var(--druid-link-color);
}
.druid-toggleable-data:not(.focused),
.druid-main-images-file:not(.focused),
.druid-toggleable-heading:not(.focused),
.druid-row:not(:has(.druid-grid)):has(.druid-toggleable-data-empty.focused),
.druid-grid-item:has(.druid-toggleable-data-empty.focused),
.druid-section:has(.druid-toggleable-heading-empty.focused),
.druid-section-container:has(.druid-toggleable-data-empty.focused):not(:has(.druid-toggleable-data-nonempty.focused)):not(:has(.druid-data-nonempty)) {
display: none;
border-color: var(--druid-border-color);
}
.druid-grid {
display: grid;
gap: var(--druid-gap);
}
.druid-grid-item {
background: var(--druid-quinary-background-color);
border-radius: var(--druid-inner-border-radius);
margin-bottom: var(--druid-gap);
padding: var(--druid-gap);
}
.druid-section-container:last-of-type .druid-grid:last-of-type .druid-grid-item {
margin-bottom: 0;
}
.druid-grid-item .druid-label,
.druid-grid-item .druid-data {
padding: 0.3em 0.6em;
text-align: center;
border-radius: calc(var(--druid-inner-border-radius) - (var(--druid-gap)/2));
}
.druid-grid-item .druid-label {
background: var(--druid-quaternary-background-color);
margin-bottom: var(--druid-gap);
}
.druid-grid-item .druid-data {
background: var(--druid-quinary-background-color);
}
.druid-data-wide {
width: 100%;
}
.druid-section-container > .druid-collapsible {
display: flex;
justify-content: space-between;
align-items: center;
}
.druid-collapsed {
display: none !important;
}
.druid-collapsible {
cursor: pointer;
position: relative;
}
.druid-collapsible::after {
content: "";
display: block;
position: absolute;
right: 10px;
width: 20px;
height: 20px;
--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-chevron-up' width='24' height='24' viewBox='0 0 24 24' stroke-width='2' stroke='currentColor' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath stroke='none' d='M0 0h24v24H0z' fill='none'%3E%3C/path%3E%3Cpath d='M6 15l6 -6l6 6'%3E%3C/path%3E%3C/svg%3E") no-repeat;
-webkit-mask: var(--mask);
mask: var(--mask);
-webkit-mask-size: 100% 100%;
mask-size: 100% 100%;
-webkit-mask-position: center center;
mask-position: center center;
background-color: var(--druid-tertiary-background-label-color);
}
.druid-collapsible-collapsed::after {
transform: rotate(180deg);
}
/*****************************************
Div support
*****************************************/
div.druid-row {
display: flex;
margin-bottom: var(--druid-gap);
background: var(--druid-background-color);
border-radius: var(--druid-inner-border-radius);
}
.druid-section-container:last-of-type .druid-row:last-of-type,
.druid-section-container:last-of-type .druid-collapsible-collapsed .druid-section {
margin-bottom: 0;
}
div.druid-row + div.druid-row {
margin-top: 0;
}
div.druid-row > .druid-label {
background: var(--druid-quaternary-background-color);
border-radius: var(--druid-inner-border-radius);
}
div.druid-data,
div.druid-row > div.druid-label + div.druid-data {
width: 100%;
background: var(--druid-quinary-background-color);
border-radius: var(--druid-inner-border-radius);
box-sizing: border-box;
}
.druid-infobox #toc {
display: none;
}
/*****************************************
Custom display classes
*****************************************/
div.druid-stacked.druid-row,
.druid-stacked div.druid-row {
flex-direction: column;
}
.druid-stacked.druid-row > .druid-label,
.druid-stacked .druid-row > .druid-label {
text-align: left;
width: 100%;
flex-basis: unset;
}
.druid-stacked.druid-row > .druid-data,
.druid-stacked .druid-row > .druid-data {
padding-left: 0.75em;
}
.archive-number {
padding: calc(var(--druid-gap)/4) var(--druid-gap);
border-radius: var(--druid-inner-border-radius);
outline: 1px solid rgba(128, 128, 128, 0.3);
margin-right: 0.25em;
}
.archive-number.quality-none { background: var(--druid-secondary-background-color); }
.archive-number.quality-gray { background: #C7CAB4; }
.archive-number.quality-green { background: #83D083; }
.archive-number.quality-blue { background: #95BFCC; }
.archive-number.quality-purple { background: #A680B1; }
.archive-number.quality-gold { background: #C79D39; }
.quality-label {
display: inline-flex;
align-items: center;
gap: 0.4rem;
border-radius: var(--druid-inner-border-radius);
line-height: 1;
vertical-align: middle;
}
.quality-label::before {
content: "";
width: 0.8rem;
height: 0.8rem;
border-radius: calc(var(--druid-inner-border-radius) - var(--druid-gap));
display: inline-block;
outline: 1px solid rgba(64, 64, 64, 0.3);
}
.quality-label.quality-none::before { background: var(--druid-quaternary-background-color); }
.quality-label.quality-gray::before { background: #C7CAB4; }
.quality-label.quality-green::before { background: #83D083; }
.quality-label.quality-blue::before { background: #95BFCC; }
.quality-label.quality-purple::before { background: #A680B1; }
.quality-label.quality-gold::before { background: #C79D39; }
/* Hide dummy infobox until extension is removed */
aside.pi-theme-dummy,
aside.pi-theme-dummy ~ aside.portable-infobox + p > br:first-child,
aside.pi-theme-dummy ~ aside.portable-infobox + p:empty + p > br:first-child {
display: none;
}