MediaWiki:Gadget-Infobox.css: Difference between revisions
Appearance
Reduced min-width |
Fixed styling when infobox has no image |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
. | :root, | ||
.druid-container { | |||
background: var(--background-color- | --druid-background-color: var(--background-color-0b); | ||
border-radius: | --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 { | ||
background-color: var(--color-accent); | 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; | text-align: center; | ||
border-radius: | border: 1px solid var(--druid-border-color); | ||
color: var(-- | 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 | background: rgba(var(--color-accent--rgb), 0.15); | ||
border- | 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; | margin-bottom: 0; | ||
} | } | ||
. | .druid-grid-item .druid-label, | ||
color: var(--color- | .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; | |||
margin- | |||
} | } | ||
. | div.druid-row > .druid-label { | ||
background: var(--druid-quaternary-background-color); | |||
border-radius: var(--druid-inner-border-radius); | |||
} | } | ||
. | div.druid-data, | ||
background-color: var(-- | 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 | |||
flex- | *****************************************/ | ||
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); | |||
border: | 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 { | ||
border: | 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); | |||
} | } | ||
/* Hide dummy infobox */ | .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.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;
}