MediaWiki:Common.css: Różnice pomiędzy wersjami
Z LawRus
auto-sync z repo |
auto-sync z repo |
||
| Linia 295: | Linia 295: | ||
} | } | ||
/* Puste boxy sidebar (Narzędzia wiki, Narzędzia stron) — ukryte dla | /* Puste boxy sidebar (Narzędzia wiki, Narzędzia stron) — ukryte dla wszystkich | ||
Hook SidebarBeforeOutput | poza sysop. Hook SidebarBeforeOutput opróżnia TOOLBOX dla nie-sysop, ale Timeless | ||
dalej renderuje pusty kontener #site-tools z nagłówkiem. Druga sekcja #page-tools | |||
ma same emptyPortlet gdy user nie ma akcji edit/move (anon i większość redaktorów). */ | |||
body:not(.lawrus- | body:not(.lawrus-sysop) #site-tools, | ||
body:not(.lawrus- | body:not(.lawrus-sysop) #page-tools { | ||
display: none; | display: none; | ||
} | } | ||
Wersja z 07:55, 28 maj 2026
/* Czcionka źródeł latopisarskich (cyrylica + łacina). */
@font-face {
font-family: 'Litopys New Roman';
src: url('/fonts/LitopysNewRoman.ttf') format('truetype');
font-display: swap;
}
/* Klasa do oznaczania tekstów w czcionce Litopys.
Użycie: <span class="litopys">текст</span>
lub w szablonie: <div class="litopys">{{{oryginał}}}</div> */
.litopys {
font-family: 'Litopys New Roman', 'Times New Roman', serif;
}
/* Stopka w jednej linii — domyślnie Timeless łamie ją na 3 wiersze. */
#mw-footer #footer-list {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0 1.5em;
}
#mw-footer #footer-info,
#mw-footer #footer-places {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
list-style: none;
gap: 0 1em;
}
#mw-footer #footer-info li,
#mw-footer #footer-places li {
display: inline-block;
margin: 0;
}
/* Pasek nawigacji 3 zakładek — w stylu Material/płaskie taby z bottom-border
indicator dla aktywnej. Używany przez Szablon:NawigacjaGłówna. */
.nav-glowna {
display: flex;
margin: 0 0 1.5em 0;
border-bottom: 2px solid #eaecf0;
}
.nav-glowna-tab {
flex: 1;
text-align: center;
padding: 0.75em 1em;
border-bottom: 3px solid transparent;
margin-bottom: -2px;
transition: background-color 0.15s ease, border-color 0.15s ease;
}
.nav-glowna-tab:hover {
background-color: #f8f9fa;
}
.nav-glowna-tab.active {
border-bottom-color: #36c;
font-weight: bold;
}
.nav-glowna-tab.active a {
color: #202122;
text-decoration: none;
pointer-events: none;
}
/* Sticky footer — domyślnie body color (#72777d) wycieka pod krótkim
contentem, generując "duży grafitowy obszar". Layout flex z body =
100vh wymusza że content rozciąga się do okna, a stopka siedzi na dnie. */
html, body {
min-height: 100vh;
}
body {
display: flex;
flex-direction: column;
}
body > * {
flex-shrink: 0;
}
#mw-content-container {
flex: 1 0 auto;
}
#mw-footer-container {
background: #2a2a2a;
}
/* Wstrzyknięte wiersze uczestników umowy — bez dodatkowych paddinów. */
.pf-participants-inject {
padding: 0 !important;
}
/* Wyrównanie tabel: tekst do góry, dane do lewej.
!important potrzebne bo DataTables nadpisuje przez JS inline style. */
.wikitable th,
.wikitable td,
table.cargoDynamicTable th,
table.cargoDynamicTable td {
vertical-align: top !important;
}
.wikitable td,
table.cargoDynamicTable td {
text-align: left !important;
}
/* ── Tabela Cargo — mieści się w kontenerze bez poziomego scrolla ────────────
table-layout: fixed + width: 100% pozwala CSS kontrolować szerokości kolumn.
autoWidth DataTables wyłączone w Common.js (preInit.dt).
Kolejność kolumn: Wpis | Streszczenie | Źródło nar. | Dat. ruska | Dat. łac.
| Dokument | Język [| Status] */
table.cargoDynamicTable {
table-layout: fixed !important;
width: 100% !important;
}
table.cargoDynamicTable th,
table.cargoDynamicTable td {
word-break: break-word;
overflow-wrap: break-word;
white-space: normal !important;
}
/* col 1: Wpis */
table.cargoDynamicTable thead th:nth-child(1),
table.cargoDynamicTable tbody td:nth-child(1) { width: 18% !important; }
/* col 2: Streszczenie */
table.cargoDynamicTable thead th:nth-child(2),
table.cargoDynamicTable tbody td:nth-child(2) { width: 22% !important; }
/* col 3: Źródło narracyjne */
table.cargoDynamicTable thead th:nth-child(3),
table.cargoDynamicTable tbody td:nth-child(3) { width: 11% !important; }
/* col 4: Datacja ruska */
table.cargoDynamicTable thead th:nth-child(4),
table.cargoDynamicTable tbody td:nth-child(4) { width: 8% !important; }
/* col 5: Datacja łacińska */
table.cargoDynamicTable thead th:nth-child(5),
table.cargoDynamicTable tbody td:nth-child(5) { width: 8% !important; }
/* col 6: Dokument */
table.cargoDynamicTable thead th:nth-child(6),
table.cargoDynamicTable tbody td:nth-child(6) { width: 12% !important; }
/* col 7: Język */
table.cargoDynamicTable thead th:nth-child(7),
table.cargoDynamicTable tbody td:nth-child(7) { width: 9% !important; }
/* col 8: Status (widok roboczy — 8 kolumn) */
table.cargoDynamicTable thead th:nth-child(8),
table.cargoDynamicTable tbody td:nth-child(8) {
width: 12% !important;
word-break: break-all;
}
/* ── Streszczenie — skracanie z rozwinięciem ───────────────────────────────── */
.lawrus-full-wrap {
display: none;
}
.lawrus-more,
.lawrus-less {
display: inline;
margin-left: 2px;
color: #3366cc;
cursor: pointer;
text-decoration: none;
font-size: 0.9em;
white-space: nowrap;
}
.lawrus-more:hover,
.lawrus-less:hover {
text-decoration: underline;
}
/* ── Sekcje wpisu LawRus ─────────────────────────────────────────────────── */
.lawrus-section {
border: 1px solid #d0d3d7;
border-radius: 4px;
margin: 1em 0;
overflow: hidden;
}
.lawrus-section-header {
background: #f0f2f5;
font-weight: bold;
font-size: 1.1em;
padding: 0.5em 0.8em;
border-bottom: 1px solid #d0d3d7;
}
.lawrus-section-body {
padding: 0.75em 0.8em;
}
/* Układ dwukolumnowy PL / EN */
.lawrus-bilingual {
display: flex;
gap: 1em;
margin: 0.75em 0;
}
.lawrus-bilingual .lawrus-col {
flex: 1;
min-width: 0;
}
/* Układ trójkolumnowy (trzy pola datacji) */
.lawrus-triple {
display: flex;
gap: 1em;
margin: 0.5em 0;
}
.lawrus-triple .lawrus-col {
flex: 1;
min-width: 0;
}
/* Responsywność: na wąskich ekranach kolumny układają się pionowo */
@media (max-width: 700px) {
.lawrus-bilingual,
.lawrus-triple {
flex-direction: column;
}
}
/* ── Przełącznik języka PL/EN dla wpisu ──────────────────────────────────── */
.lawrus-lang-switch {
display: flex;
justify-content: flex-end;
margin: 0 0 0.75em 0;
}
.lawrus-lang-switch button {
padding: 0.2em 0.8em;
border: 1px solid #a2a9b1;
background: #f8f9fa;
cursor: pointer;
font-size: 0.875em;
line-height: 1.6;
color: #202122;
}
.lawrus-lang-switch button:first-child {
border-radius: 3px 0 0 3px;
border-right: none;
}
.lawrus-lang-switch button:last-child {
border-radius: 0 3px 3px 0;
}
.lawrus-lang-switch button:hover:not(.active) {
background: #eaecf0;
}
.lawrus-lang-switch button.active {
background: #3366cc;
color: #fff;
border-color: #3366cc;
font-weight: bold;
}
/* Panele językowe — domyślnie PL widoczny, EN ukryty */
.lawrus-lang-panel {
margin: 0.75em 0;
}
.lawrus-lang-en {
display: none;
}
.wpis-kroniki.lang-en .lawrus-lang-pl {
display: none;
}
.wpis-kroniki.lang-en .lawrus-lang-en {
display: block;
}
/* Treść widoczna tylko dla zalogowanych — domyślnie ukryta, JS odkrywa po weryfikacji. */
.lawrus-tylko-zalogowany {
display: none;
}
body.lawrus-zalogowany .lawrus-tylko-zalogowany {
display: block;
}
/* Zakładki "Kod źródłowy" i "Historia" niewidoczne dla niezalogowanych. */
body:not(.lawrus-zalogowany) #ca-viewsource,
body:not(.lawrus-zalogowany) #ca-history {
display: none;
}
/* Komunikat ApprovedRevs o zatwierdzonej wersji — ukryty tylko dla niezalogowanych.
Zalogowani redaktorzy/admin widzą informację że jest nowsza wersja do zatwierdzenia.
Klasy: stare (.approvedNotLatestMsg) i nowe (.notLatestMsg, .latestMsg) ApprovedRevs. */
body:not(.lawrus-zalogowany) .approvedAndLatestMsg,
body:not(.lawrus-zalogowany) .approvedNotLatestMsg,
body:not(.lawrus-zalogowany) .notApprovedMsg,
body:not(.lawrus-zalogowany) .notLatestMsg,
body:not(.lawrus-zalogowany) .latestMsg {
display: none;
}
/* Puste boxy sidebar (Narzędzia wiki, Narzędzia stron) — ukryte dla wszystkich
poza sysop. Hook SidebarBeforeOutput opróżnia TOOLBOX dla nie-sysop, ale Timeless
dalej renderuje pusty kontener #site-tools z nagłówkiem. Druga sekcja #page-tools
ma same emptyPortlet gdy user nie ma akcji edit/move (anon i większość redaktorów). */
body:not(.lawrus-sysop) #site-tools,
body:not(.lawrus-sysop) #page-tools {
display: none;
}
/* Sticky footer — dla krótkich stron (Filtry, Katalogi, Database) bez tej reguły
pod stopką prześwituje szare body background. Flexbox column rozciąga wrapper
na pełną wysokość okna i wypycha footer na dół. */
html, body {
height: 100%;
margin: 0;
}
#mw-wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
}
#mw-content-container {
flex: 1 0 auto;
}
#mw-footer-container {
flex-shrink: 0;
}
