Template:OOOInfoBoxTabber/styles.css
Appearance
/* OOO Infobox – Tabber wrapper
- Default width matches .ooo-infobox (300px)
- Tabs fill full width (equal columns)
- Hides any separator line drawn by themes/extensions
*/
.ooo-infobox-tabwrap {
float: right;
clear: right;
width: 300px; /* keep in sync with .ooo-infobox */
margin: 0 0 1em 1em;
}
/* alignment overrides (set by module |align=...) */
.ooo-infobox-tabwrap--left { float:left; clear:left; margin:0 1em 1em 0; }
.ooo-infobox-tabwrap--none { float:none; margin:0 0 1em 0; }
.ooo-infobox-tabwrap--center { float:none; display:block; margin:0 auto 1em; }
/* TAB STRIP — full-width equal tabs */
.ooo-infobox-tabwrap .tabber__tabs {
display: flex;
flex-wrap: nowrap; /* keep in one row; change to wrap if you prefer */
gap: .25rem;
margin: 0 0 .5rem 0;
width: 100%;
box-sizing: border-box;
border: 0; /* kill any normal border */
background-image: none; /* kill image-based lines */
position: relative; /* for the overlay below */
}
/* Overlay to MASK any stubborn baseline drawn by skins */
.ooo-infobox-tabwrap .tabber__tabs::after {
content: "";
position: absolute;
left: 0; right: 0;
bottom: -1px; /* sits on top of baseline */
height: 2px; /* just enough to cover */
background: var(--background-color-base, #ffffff); /* page bg (handles dark) */
}
/* Individual tabs – make them share the width equally */
.ooo-infobox-tabwrap .tabber__tab {
flex: 1 1 0;
min-width: 0; /* allow shrinking without overflow */
text-align: center;
display: inline-block;
font-weight: 700;
font-size: 90%;
line-height: 1.2;
white-space: normal;
padding: .2rem .5rem;
text-decoration: none;
background: var(--background-color-neutral, #f5f5f5);
color: var(--color-base, #202122);
border: 1px solid #a2a9b1; /* literal avoids TemplateStyles warnings */
border-bottom: none; /* blends into panel */
border-radius: 6px 6px 0 0;
}
/* Active tab blends; slight overlap hides any seam with the panel */
.ooo-infobox-tabwrap .tabber__tab--active {
background: var(--background-color-base, #ffffff);
color: var(--color-base, #202122);
margin-bottom: -1px;
}
/* Panels */
.ooo-infobox-tabwrap .tabber__panel {
padding: 0;
border: 0;
background: transparent;
}
/* MOBILE */
@media (max-width: 640px) {
.ooo-infobox-tabwrap,
.ooo-infobox-tabwrap--left,
.ooo-infobox-tabwrap--none,
.ooo-infobox-tabwrap--center {
float: none;
width: 100%;
margin: 0 0 1em 0;
}
/* on mobile you might prefer wrapping instead of equal-width squeeze: */
.ooo-infobox-tabwrap .tabber__tabs { flex-wrap: wrap; }
.ooo-infobox-tabwrap .tabber__tab { flex: 1 1 auto; }
}