Files
5chan/src/components/footer/footer.module.css
T

245 lines
4.3 KiB
CSS
Raw Normal View History

2026-02-23 20:50:30 +08:00
/* Page footer (desktop) */
.footer {
margin-top: 16px;
padding-bottom: 24px;
}
.firstRow {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
text-align: center;
}
2026-02-24 16:36:13 +08:00
.styleRow {
padding: 8px 0 0;
display: flex;
justify-content: flex-end;
}
.styleRowContent {
display: flex;
align-items: center;
gap: 6px;
}
2026-02-23 20:50:30 +08:00
.boardsBarRow {
padding: 8px 0;
}
.legalMeta {
padding: 12px 0 0;
2026-02-24 16:36:13 +08:00
font-size: 10px;
2026-02-23 20:50:30 +08:00
color: var(--body-font-color);
text-align: center;
}
2026-02-24 16:36:13 +08:00
.legalMeta a {
color: var(--boardsbar-desktop-link-text-color);
text-decoration: var(--boardsbar-desktop-link-text-decoration);
}
.legalMeta a:hover {
color: var(--boardsbar-desktop-link-text-color-hover);
text-decoration: var(--boardsbar-desktop-link-text-decoration-hover);
cursor: pointer;
}
2026-02-23 20:50:30 +08:00
/* Shared footer first-row layout (catalog, board pagination footer mode) */
.footerRow {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
width: 100%;
}
/* When only footerRight is shown (e.g. multiboards), align it right */
.footerRowRightOnly {
justify-content: flex-end;
}
2026-02-23 20:50:30 +08:00
.footerLeft {
display: flex;
align-items: center;
gap: 4px;
flex-wrap: wrap;
}
.footerRight {
display: flex;
align-items: center;
gap: 6px;
}
.styleLabel {
font-size: 12px;
text-transform: capitalize;
}
/* Thread footer first row */
.threadRow {
2026-02-24 16:36:13 +08:00
display: grid;
grid-template-columns: 1fr auto 1fr;
2026-02-23 20:50:30 +08:00
align-items: center;
gap: 12px;
width: 100%;
text-transform: capitalize;
}
.threadLeft {
display: flex;
align-items: center;
gap: 4px;
flex-wrap: wrap;
2026-02-24 16:36:13 +08:00
justify-self: start;
2026-02-23 20:50:30 +08:00
}
.threadCenter {
display: flex;
align-items: center;
justify-content: center;
2026-02-24 16:36:13 +08:00
justify-self: center;
2026-02-23 20:50:30 +08:00
}
.threadRight {
display: flex;
align-items: center;
2026-02-24 16:36:13 +08:00
gap: 12px;
justify-self: end;
2026-02-23 20:50:30 +08:00
}
2026-02-24 16:36:13 +08:00
/* Buttons and links in footer first row (catalog, thread): same text-link styling */
.threadRow button,
2026-02-23 20:50:30 +08:00
.threadRow .button,
2026-02-24 16:36:13 +08:00
.threadLeft a,
.footerRow button,
.footerRow .button,
.footerLeft a,
2026-02-23 20:50:30 +08:00
.button {
2026-02-24 16:36:13 +08:00
all: unset;
font: inherit;
2026-02-23 20:50:30 +08:00
text-transform: capitalize;
2026-02-24 16:36:13 +08:00
color: var(--button-desktop-text-color);
text-decoration: var(--button-text-decoration);
cursor: pointer;
}
.threadRow button:hover:not(:disabled),
.threadRow .button:hover:not(:disabled),
.threadLeft a:hover,
.footerRow button:hover:not(:disabled),
.footerRow .button:hover:not(:disabled),
.footerLeft a:hover,
.button:hover:not(:disabled) {
color: var(--button-desktop-text-color-hover);
}
.threadRow button:disabled,
.threadRow .button:disabled,
.footerRow button:disabled,
.footerRow .button:disabled,
.button:disabled {
opacity: 0.5;
cursor: not-allowed;
2026-02-23 20:50:30 +08:00
}
@media (max-width: 640px) {
.footer {
display: none;
}
}
/* Mobile page footer — hidden on desktop, shown on mobile */
.mobileFooter {
display: none;
}
@media (max-width: 640px) {
.mobileFooter {
display: block;
text-align: center;
padding: 0 0 16px;
}
}
.mobileFooterButtons {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 6px;
padding: 8px 8px;
}
.mobileFooterButtons a:not([class~='button']) {
all: unset;
}
.mobileFooterButtons input[type='checkbox'] {
margin: 0 3px 0 0;
position: relative;
top: -2px;
border-radius: 0;
height: 10px;
width: 10px;
}
.mobileFooterPagination {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 10px;
padding: 4px 8px;
font-size: 16px;
color: var(--boardsbar-desktop-link-text-color);
}
.mobileFooterPagination a {
text-decoration: none;
color: var(--boardsbar-desktop-link-text-color);
}
.mobileFooterPaginationCurrent {
font-weight: bold;
}
.mobileFooterLinks {
padding: 12px 8px 4px;
font-size: 10px;
text-align: center;
}
.mobileFooterLinks a {
color: var(--boardsbar-desktop-link-text-color);
text-decoration: underline;
}
.mobileFooterLinks a:hover {
color: var(--boardsbar-desktop-link-text-color-hover);
}
.mobileFooterStats {
padding: 4px 8px;
font-size: 14px;
text-align: center;
}
.threadMobileFooterContent .mobileFooterButtons {
padding-top: 0;
padding-bottom: 6px;
}
.threadMobileFooterContent .mobileFooterButtons:first-child {
padding-top: 25px;
padding-bottom: 10px;
}
.threadMobileFooterContent .mobileFooterStats {
padding-top: 15px;
}