Template:Infobox/styles.css: Difference between revisions
Template page
More actions
m Infobox tournament: auto-generate a lead paragraph from the same infobox parameters |
m Infobox tournament: auto-generate a lead paragraph from the same infobox parameters |
||
| Line 9: | Line 9: | ||
.loka-infobox--wide { | .loka-infobox--wide { | ||
width: | width: 440px; | ||
} | } | ||
| Line 113: | Line 113: | ||
.loka-infobox-row { | .loka-infobox-row { | ||
display: flex; | display: flex; | ||
padding: . | align-items: baseline; | ||
padding: .35em .6em; | |||
border-top: 1px solid rgba(255, 255, 255, .08); | border-top: 1px solid rgba(255, 255, 255, .08); | ||
font-size: .9em; | font-size: .9em; | ||
} | } | ||
/* Matches the muted, uppercase "eyebrow" label treatment used by | |||
Infobox tournament's detail tiles and Infobox town's Location panel | |||
(loka-tournament-detail-label / loka-town-location-heading), so every | |||
infobox on the wiki shares one label language even though tournament's | |||
is a stacked tile and this one is a side-by-side row. */ | |||
.loka-infobox-row-key { | .loka-infobox-row-key { | ||
flex: 0 0 38%; | flex: 0 0 38%; | ||
font-size: .78em; | |||
font-weight: 700; | font-weight: 700; | ||
text-transform: uppercase; | |||
letter-spacing: .03em; | |||
opacity: .65; | |||
text-align: left; | text-align: left; | ||
} | } | ||
Revision as of 10:43, 18 August 2026
.loka-infobox {
float: right;
clear: right;
width: 300px;
margin: 0 0 1em 1em;
background: rgba(20, 16, 12, .45);
border: 1px solid rgba(255, 255, 255, .08);
}
.loka-infobox--wide {
width: 440px;
}
/* Below this width a floated fixed-width box (300px, or 520px for --wide)
either overflows the viewport or squeezes body text into an unreadably
narrow column, so every infobox drops the float and goes full-width
instead -- applies wiki-wide since this is the shared shell every
specific infobox is built on. */
@media (max-width: 600px) {
.loka-infobox,
.loka-infobox--wide {
float: none;
clear: none;
width: 100%;
max-width: 100%;
margin: 0 0 1em 0;
box-sizing: border-box;
}
}
.loka-infobox-name {
text-align: center;
font-family: UNIVERSAL-SERIF, serif;
font-variant: small-caps;
font-size: 1.25em;
font-weight: 600;
padding: .5em;
border-bottom: 1px solid rgba(255, 255, 255, .08);
}
.loka-infobox-type {
background: #9c6b2e;
color: #ffffff;
font-weight: 700;
font-size: .72em;
text-transform: uppercase;
letter-spacing: .04em;
text-align: center;
padding: .3em .5em;
}
.loka-infobox-image {
line-height: 0;
text-align: center;
padding: 10px;
}
.loka-infobox-image img {
max-width: 100%;
height: auto;
}
.loka-infobox-header-photo {
position: relative;
height: 150px;
overflow: hidden;
}
.loka-infobox-header-photo img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
/* Previous attempts used a second overlay div and tried to hand-tune its
alpha to approximately match the box's own background colour by eye
-- fragile, and it kept reading as a hard cut regardless of the exact
numbers used. This instead fades the photo's OWN opacity to nothing
via a mask, so what's revealed underneath as it disappears is
whatever's actually behind it (.loka-infobox's real background),
guaranteed to match exactly since nothing is being approximated. */
-webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
mask-image: linear-gradient(to bottom, #000 0%, #000 60%, transparent 100%);
}
.loka-infobox-header-scrim {
position: absolute;
inset: 0;
/* Only handles darkening the top for the name/type text now -- the
bottom fade is the image's own mask (above), not this. */
background: linear-gradient(to bottom,
rgba(8, 6, 3, .8) 0,
rgba(8, 6, 3, .35) 50px,
rgba(8, 6, 3, 0) 85px);
}
.loka-infobox-header-text {
position: relative;
}
.loka-infobox-header-text .loka-infobox-name {
border-bottom: none;
text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
}
.loka-infobox-header-text .loka-infobox-type {
background: rgba(156, 107, 46, .55);
text-transform: none;
letter-spacing: normal;
text-shadow: 0 1px 3px rgba(0, 0, 0, .9);
}
.loka-infobox-row {
display: flex;
align-items: baseline;
padding: .35em .6em;
border-top: 1px solid rgba(255, 255, 255, .08);
font-size: .9em;
}
/* Matches the muted, uppercase "eyebrow" label treatment used by
Infobox tournament's detail tiles and Infobox town's Location panel
(loka-tournament-detail-label / loka-town-location-heading), so every
infobox on the wiki shares one label language even though tournament's
is a stacked tile and this one is a side-by-side row. */
.loka-infobox-row-key {
flex: 0 0 38%;
font-size: .78em;
font-weight: 700;
text-transform: uppercase;
letter-spacing: .03em;
opacity: .65;
text-align: left;
}
.loka-infobox-row-value {
flex: 1;
text-align: left;
}
.loka-infobox-row--wide {
flex-direction: column;
align-items: flex-start;
gap: .3em;
}
.loka-hlist {
list-style: none;
margin: 0;
padding: 0;
display: inline;
}
.loka-hlist li {
display: inline;
}
.loka-hlist li:not(:last-child)::after {
content: ", ";
}
.loka-hlist--stacked {
display: block;
}
.loka-hlist--stacked li {
display: block;
}
.loka-hlist--stacked li:not(:last-child)::after {
content: none;
}