MediaWiki:Gadget-Infobox.css: Difference between revisions
Appearance
No edit summary |
Fixed incorrect chevron icon direction |
||
| Line 195: | Line 195: | ||
width: 20px; | width: 20px; | ||
height: 20px; | height: 20px; | ||
--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='icon icon-tabler icon-tabler-chevron- | --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); | -webkit-mask: var(--mask); | ||
mask: var(--mask); | mask: var(--mask); | ||
Revision as of 06:28, 19 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: var(--border-color-base);
--druid-link-color: var(--background-color-4);
--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 {
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;
}
.druid-infobox .druid-section {
background: var(--druid-tertiary-background-color);
color: var(--druid-tertiary-background-label-color);
text-align: center;
font-size: 1.5em;
}
.druid-infobox .druid-section {
font-size: 1.25em;
font-weight: 500;
border-radius: var(--druid-inner-border-radius);
margin-bottom: var(--druid-gap);
}
.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 {
background: var(--druid-quinary-background-color);
max-width: 324px;
max-height: 500px;
width: auto;
height: auto;
margin: calc(2px + var(--druid-gap)) 0;
border-radius: var(--druid-inner-border-radius);
}
.druid-main-images-labels {
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-evenly;
padding: calc(2px + 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);
}
.druid-main-images-label:not(.focused):hover {
background: var(--druid-quinary-background-color);
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;
}
.druid-grid-item {
background: var(--druid-background-color-2);
border-radius: var(--druid-inner-border-radius);
margin-bottom: 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 {
text-align: center;
}
.druid-grid-item .druid-label {
background: var(--druid-quaternary-background-color);
padding: 0.3em 0.6em;
border-radius: var(--druid-inner-border-radius);
margin-bottom: var(--druid-gap);
}
.druid-grid-item .druid-data {
background: var(--druid-quinary-background-color);
padding: 0.3em 0.6em;
border-radius: var(--druid-inner-border-radius);
}
.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 {
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);
}
.druid-infobox .druid-title {
font-weight: 700;
}
.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;
}
/*****************************************
TODO:
Delete all Portable Infobox CSS after converting all Portable Infoboxes
into DRUID Infoboxes
*****************************************/
.portable-infobox {
min-width: 320px;
background: var(--background-color-1);
border-radius: 20px;
padding: 10px;
}
.pi-title {
background-color: var(--color-accent);
text-align: center;
border-radius: 10px;
color: var(--color-accent-text);
margin-bottom: 5px !important;
}
.pi-data {
background-color: var(--background-color-2);
border-radius: 10px;
margin-bottom: 5px;
border: none;
}
.pi-data:last-child {
margin-bottom: 0;
}
.pi-data-label {
color: var(--color-progressive);
font-family: 'Inter' !important;
font-weight: 700 !important;
}
.portable-infobox .pi-data-label {
flex: 95px;
}
.pi-image img {
border-radius: 10px;
overflow: hidden;
margin-bottom: 5px !important;
}
.pi-media-collection-tabs {
gap: 5px;
align-items: stretch !important;
margin-bottom: 2px !important;
}
.pi-media-collection-tabs .current {
background-color: var(--background-color-4) !important;
}
.pi-media-collection-tabs li {
border-radius: 10px !important;
background-color: var(--background-color-2) !important;
}
.pi-section-navigation .pi-section-tab, .pi-media-collection .pi-tab-link {
max-width: none !important;
flex-grow: 1;
}
.pi-media-collection .pi-tab-link {
border: 0;
}
.pi-header {
background-color: transparent !important;
text-align: center;
font-weight: 500 !important;
}
/* Group styling */
.pi-horizontal-group {
margin-bottom: 5px;
border: 1px solid transparent !important;
border-spacing: 5px 0;
border-collapse: collapse;
border-radius: 10px;
overflow: hidden;
}
.pi-horizontal-group {
td,
th {
border-color: var(--background-color-1) !important;
border-width: 5px !important;
background-color: var(--background-color-2);
}
}
.pi-group {
border: none;
}
/* Hide dummy infobox */
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;
}