MediaWiki:Common.css: Difference between revisions
From World Encyclopedia of Conductors
No edit summary |
No edit summary |
||
| (8 intermediate revisions by the same user not shown) | |||
| Line 223: | Line 223: | ||
height: 100%; | height: 100%; | ||
background: lightgrey; | background: lightgrey; | ||
} | |||
.date-cell { | |||
text-align: center; | |||
vertical-align: middle; | |||
} | } | ||
| Line 231: | Line 236: | ||
.entry { | .entry { | ||
min-width: 100%; | min-width: 100%; | ||
grid-template-columns: max-content | grid-template-columns: max-content 1fr; | ||
grid-template-areas: | grid-template-areas: | ||
"number chapter" | "number chapter" | ||
| Line 254: | Line 259: | ||
.composer { | .composer { | ||
text-align: right; | text-align: right; | ||
margin-top: 0.2rem; | margin-top: 0.2rem; | ||
border-bottom: 2px dotted #ccc; /* Та самая легкая точечная линия */ | border-bottom: 2px dotted #ccc; /* Та самая легкая точечная линия */ | ||
| Line 261: | Line 264: | ||
} | } | ||
/* Чтобы у самого последнего произведения в списке не было лишней черты снизу | /* Чтобы у самого последнего произведения в списке не было лишней черты снизу | ||
.entry:last-child .composer { | .entry:last-child .composer { | ||
border-bottom: none; | border-bottom: none; | ||
} | } */ | ||
/* 4. Чиним "липкую" таблицу */ | /* 4. Чиним "липкую" таблицу */ | ||
| Line 292: | Line 295: | ||
table.concert-table td:first-child::after { | table.concert-table td:first-child::after { | ||
display: none; | display: none; | ||
} | |||
/* 5. Скрываем верхнюю шапку таблицы (строку с названиями колонок) на телефонах */ | |||
table.concert-table > thead, | |||
table.concert-table > tbody > tr:first-child { | |||
display: none; | |||
} | |||
/* Заставляем заголовок таблицы центрироваться, когда сама таблица стала блоком */ | |||
table.concert-table caption { | |||
display: block !important; | |||
width: 100% !important; | |||
text-align: center !important; | |||
box-sizing: border-box; | |||
margin-bottom: 15px; /* Отступ от заголовка до первой карточки-даты */ | |||
} | |||
} | |||
/* Фиксируем ширину колонки с датой ТОЛЬКО для экранов шире 768px (компьютеры и планшеты) */ | |||
@media screen and (min-width: 769px) { | |||
table.concert-table th:first-child, | |||
table.concert-table td.date-cell { | |||
width: 20ch; /* Ширина примерно в 22 символа текста */ | |||
min-width: 20ch; | |||
max-width: 20ch; | |||
word-wrap: break-word; /* Аккуратный перенос длинных строк */ | |||
} | } | ||
} | } | ||
Latest revision as of 12:04, 26 June 2026
/* CSS placed here will be applied to all skins */
@font-face {
font-family: Kazimir;
src:
local("Kazimir"),
url(/resources/assets/Kazimir-Text-Regular.woff2) format("woff2");
font-style: normal;
font-weight: 400;
}
@font-face {
font-family: Kazimir;
src:
local("Kazimir"),
url(/resources/assets/Kazimir-Text-Italic.woff2) format("woff2");
font-style: italic;
font-weight: 400;
}
@font-face {
font-family: Kazimir;
src:
local("Kazimir"),
url(/resources/assets/Kazimir-Text-Bold.woff2) format("woff2");
font-style: normal;
font-weight: 700;
}
#siteSub {
display: block;
}
#p-logo-text a {
font-family: Kazimir, 'Segoe UI', serif;
font-size: 1.2em;
font-variant: small-caps;
}
#p-logo-text a.long {
font-size: 1.2em;
line-height: 1;
}
@media screen{
body {
font-family: Kazimir, 'Segoe UI', Sans-Serif;
}
#siteSub .mw-body .mw-heading, .mw-body h1, .mw-body h2, .mw-body h3, .mw-body h4, .mw-body h5, .mw-body h6, .mw-body dt {
font-family: Kazimir, 'Linux Libertine','Times New Roman';
}
}
/* Infoboxes */
.infobox {
border: 1px solid #a2a9b1;
color: black;
padding: 0.2em;
font-size: 88%;
line-height: 1.5em;
border-spacing: 3px;
margin: 0.5em 0;
}
@media screen {
.infobox {
background-color: var(--background-color-neutral-subtle, #f8f9fa);
}
}
@media (max-width: 640px) {
.infobox {
width: 100%;
}
.infobox .nowrap {
white-space: normal;
}
}
@media (min-width: 640px) {
.infobox {
/* @noflip */
margin-left: 1em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
width: 22em;
}
}
.infobox-header,
.infobox-label,
.infobox-above,
.infobox-full-data,
.infobox-data,
.infobox-below,
.infobox-subheader,
.infobox-image,
.infobox-navbar,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox th,
.infobox td {
vertical-align: top;
}
.infobox-label,
.infobox-data,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox th,
.infobox td {
/* @noflip */
text-align: left;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-above,
.infobox .infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox caption {
font-size: 125%;
font-weight: bold;
text-align: center;
}
.infobox-title,
/* Remove element selector when every .infobox thing is using the standard module/templates */
.infobox caption {
padding: 0.2em;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-header,
.infobox .infobox-subheader,
.infobox .infobox-image,
.infobox .infobox-full-data,
.infobox .infobox-below {
text-align: center;
}
/* Remove .infobox when element selectors above are removed */
.infobox .infobox-navbar {
/* @noflip */
text-align: right;
}
.toc-list {
list-style: none;
padding: 0;
margin: 0;
counter-reset: chapter-counter; /* Инициализируем счетчик */
}
.entry {
display: grid;
/* Добавляем колонку для номера: [номер] [название] [стр] */
grid-template-columns: max-content auto max-content;
grid-template-areas: "number chapter page";
align-items: baseline; /* Выравнивание по базовой линии текста */
gap: 0 .5rem;
counter-increment: chapter-counter; /* Увеличиваем счетчик на каждом li */
margin-bottom: 0.5rem; /* Отступ между главами */
min-width: 50ch;
}
/* Создаем номер главы через псевдо-элемент */
.entry::before {
grid-area: number;
content: counter(chapter-counter) "."; /* Выводим число и точку */
}
.opus-title {
grid-area: chapter;
position: relative;
overflow: hidden;
}
/* Ваши точки (без изменений, кроме overflow handling) */
.opus-title::after {
position: absolute;
padding-left: .25ch;
content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
text-align: right;
white-space: nowrap; /* Важно, чтобы точки не переносились */
}
.composer {
grid-area: page;
align-self: last baseline;
}
.entry:only-child {
grid-template-columns: auto max-content; /* Убрали первую колонку */
grid-template-areas: "chapter page"; /* Убрали область number */
}
/* 2. Скрываем сам счетчик */
.entry:only-child::before {
content: none;
display: none;
}
th:first-child, td:first-child {
position: sticky;
left: 0;
border-inline-end: none;
background: whitesmoke;
}
td:first-of-type,
:where(thead, tfoot) th:nth-child(2) {
border-inline-start: none;
}
th:first-child::after, td:first-child::after {
content: '';
position: absolute;
inset-block-start: 0;
inset-inline-end: 0;
width: 1px;
height: 100%;
background: lightgrey;
}
.date-cell {
text-align: center;
vertical-align: middle;
}
/* --- АДАПТАЦИЯ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ --- */
@media screen and (max-width: 768px) {
/* 1. Меняем сетку, чтобы вторая строка занимала всю ширину */
.entry {
min-width: 100%;
grid-template-columns: max-content 1fr;
grid-template-areas:
"number chapter"
"page page"; /* Заменили точку на page, теперь фамилия занимает всю ширину от края до края */
margin-bottom: 0.8rem;
}
/* Сохраняем логику для одиночных произведений (без номера) */
.entry:only-child {
grid-template-columns: auto;
grid-template-areas:
"chapter"
"page";
}
/* 2. Отключаем длинную линию точек на телефонах */
.opus-title::after {
content: none;
}
/* 3. Оформляем композитора и добавляем точечную линию ВНИЗУ */
.composer {
text-align: right;
margin-top: 0.2rem;
border-bottom: 2px dotted #ccc; /* Та самая легкая точечная линия */
/* padding-bottom: 0.4rem; Воздух между фамилией и линией */
}
/* Чтобы у самого последнего произведения в списке не было лишней черты снизу
.entry:last-child .composer {
border-bottom: none;
} */
/* 4. Чиним "липкую" таблицу */
/* Превращаем строки в блоки друг под другом */
table.concert-table,
table.concert-table tbody,
table.concert-table tr,
table.concert-table td,
table.concert-table th {
display: block;
width: 100%;
box-sizing: border-box;
}
/* Сбрасываем залипание (sticky) с колонки дат */
table.concert-table th:first-child,
table.concert-table td:first-child {
position: relative;
left: auto;
background: #e9ecef;
text-align: left !important;
padding: 10px !important;
}
/* Отключаем вашу вертикальную полоску-границу для даты, так как дата теперь сверху */
table.concert-table th:first-child::after,
table.concert-table td:first-child::after {
display: none;
}
/* 5. Скрываем верхнюю шапку таблицы (строку с названиями колонок) на телефонах */
table.concert-table > thead,
table.concert-table > tbody > tr:first-child {
display: none;
}
/* Заставляем заголовок таблицы центрироваться, когда сама таблица стала блоком */
table.concert-table caption {
display: block !important;
width: 100% !important;
text-align: center !important;
box-sizing: border-box;
margin-bottom: 15px; /* Отступ от заголовка до первой карточки-даты */
}
}
/* Фиксируем ширину колонки с датой ТОЛЬКО для экранов шире 768px (компьютеры и планшеты) */
@media screen and (min-width: 769px) {
table.concert-table th:first-child,
table.concert-table td.date-cell {
width: 20ch; /* Ширина примерно в 22 символа текста */
min-width: 20ch;
max-width: 20ch;
word-wrap: break-word; /* Аккуратный перенос длинных строк */
}
}