fix(footer): align template_1 shell with Zibll 1:1

Rewrite footer markup to zib_footer_con contract: single adaptive logo
(white-src/dark-src), fcode-links HTML primary, float third column,
hidden-xs, toggle-radius contacts, miniimg structure, customize-first
footer-conter. Restyle zibll-shell CSS and drop conflicting site-footer
BEM padding so filled footer data matches Zibll layout.
This commit is contained in:
kate522 committed 2026-07-13 07:46:19 +08:00
1 parent fabff49d11
commit 1e37da60c9
11 files changed
+466 -597

No files matched your search

+111 -81
View File
@@ -1,5 +1,6 @@
/**
* Footer — Zibll template_1 shell (list-inline)
* Footer — Zibll template_1 shell (list-inline + float third column)
* Contract: zibll/css/main.css footer block + zib_footer_con markup
*/
.footer {
color: var(--footer-color, var(--color-ink-4));
@@ -7,7 +8,6 @@
padding: 30px;
font-size: 13px;
margin-top: auto;
border-top: 1px solid rgba(255, 255, 255, 0.55);
}
.footer a:not(.but):not(.focus-color) {
@@ -24,15 +24,11 @@
width: 100%;
}
/* Bootstrap-like list-inline — NOT flex (Zibll uses float for third col) */
.footer .list-inline {
display: flex;
flex-wrap: wrap;
align-items: flex-start;
justify-content: space-between;
list-style: none;
margin: 0 0 12px;
padding: 0;
gap: 10px 0;
}
.footer .list-inline > li {
@@ -41,50 +37,43 @@
display: inline-block;
}
@media (min-width: 992px) {
.footer .list-inline > li + li + li {
margin-left: auto;
}
.footer .list-inline > li + li + li {
float: right;
}
.footer .footer-logo,
.footer .footer-logo-img,
.footer a.footer-logo img {
.footer a.footer-logo img,
.footer .footer-logo img {
height: 40px;
width: auto;
max-width: 180px;
vertical-align: middle;
}
/* Light/dark footer logo toggle — keep display out of size rules so hide wins */
.footer a.footer-logo .site-footer__logo--day {
display: inline-block;
}
.footer a.footer-logo .site-footer__logo--night {
display: none;
}
html.dark .footer a.footer-logo .site-footer__logo--day,
[data-theme="dark"] .footer a.footer-logo .site-footer__logo--day,
body.dark-theme .footer a.footer-logo .site-footer__logo--day {
display: none;
}
html.dark .footer a.footer-logo .site-footer__logo--night,
[data-theme="dark"] .footer a.footer-logo .site-footer__logo--night,
body.dark-theme .footer a.footer-logo .site-footer__logo--night {
display: inline-block;
}
.footer .title-h-left,
.footer .site-footer__title {
/* title-h-left underline bar (Zibll) */
.footer .title-h-left {
position: relative;
margin: 8px 0 10px;
padding-bottom: 8px;
font-size: 15px;
font-weight: 700;
color: var(--color-ink, #333);
}
.footer .title-h-left:before {
transition: 0.4s;
transform-origin: left;
position: absolute;
content: "";
width: 40px;
height: 3px;
background: var(--theme-color, var(--color-primary));
left: 0;
bottom: 3px;
border-radius: 5px;
box-shadow: 1px 1px 3px -1px var(--theme-color, var(--color-primary));
}
.footer .footer-muted,
.footer .em09 {
font-size: 0.92em;
@@ -92,6 +81,10 @@ body.dark-theme .footer a.footer-logo .site-footer__logo--night {
line-height: 1.7;
}
.footer .opacity8 {
opacity: 0.8;
}
.footer .fcode-links {
margin: 0 0 8px;
line-height: 1.9;
@@ -110,35 +103,56 @@ body.dark-theme .footer a.footer-logo .site-footer__logo--night {
vertical-align: 0.2em;
}
/* Circular contact buttons — Zibll .toggle-radius + .footer-contact > a */
.footer .toggle-radius {
background: var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));
width: 29px;
height: 29px;
display: inline-block;
text-align: center;
border-radius: 100%;
position: relative;
vertical-align: text-top;
line-height: 29px;
color: var(--footer-color, var(--color-ink-3));
text-decoration: none;
}
.footer .footer-contact {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 4px;
margin-top: 10px;
}
.footer .footer-contact > a,
.footer .footer-contact__item {
font-size: 18px;
.footer .footer-contact > a {
font-size: 20px;
margin: 5px;
width: 35px;
height: 35px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: var(--surface-2, #f3f3f3);
line-height: 35px;
display: inline-block;
text-align: center;
border-radius: 100%;
background: var(--this-bg, var(--main-border-color, var(--surface-2, #f0f0f0)));
color: var(--footer-color, var(--color-ink-3));
text-decoration: none;
transition: color 0.15s ease, background 0.15s ease, transform 0.15s ease;
vertical-align: text-top;
position: relative;
transition: color 0.15s ease, background 0.15s ease;
}
.footer .footer-contact > a:hover,
.footer .footer-contact__item:hover {
.footer .footer-contact > a:hover {
color: #fff;
background: var(--focus-color, var(--color-primary));
transform: translateY(-1px);
}
.footer .footer-contact > a i,
.footer .footer-contact > a svg {
vertical-align: middle;
}
.footer .footer-contact > a svg {
width: 1em;
height: 1em;
fill: currentColor;
}
.footer .footer-wechat-img {
@@ -147,7 +161,7 @@ body.dark-theme .footer a.footer-logo .site-footer__logo--night {
width: 140px;
bottom: 90%;
left: -55px;
padding-bottom: 12px;
padding-bottom: 20px;
z-index: 5;
}
@@ -176,49 +190,48 @@ body.dark-theme .footer a.footer-logo .site-footer__logo--night {
display: inline-block;
}
.footer .footer-miniimg img {
width: 90px;
height: 90px;
object-fit: cover;
border-radius: 4px;
background: var(--surface-2);
.footer .footer-miniimg p {
margin: 0 0 4px;
}
.footer .footer-conter,
.footer .site-footer__copyright {
.footer .footer-miniimg img {
width: 90px;
height: auto;
max-width: 100%;
display: block;
margin: 0 auto;
border-radius: 4px;
}
.footer .footer-conter {
margin: 8px 0 0;
line-height: 1.8;
color: var(--footer-color, var(--color-ink-4));
font-size: 13px;
text-align: left;
}
.footer .footer-conter a:hover {
color: var(--focus-color, var(--color-primary));
}
.footer .mt10 {
margin-top: 10px;
}
#float-right-btns.float-right,
.float-right {
position: fixed;
right: 16px;
bottom: 80px;
z-index: 90;
display: flex;
flex-direction: column;
gap: 8px;
}
/* Device visibility — Zibll hidden-xs */
@media (max-width: 767px) {
.footer {
padding: 24px 16px 28px;
.footer .hidden-xs,
.hidden-xs {
display: none !important;
}
.footer .list-inline {
display: block;
.footer {
padding: 20px 0;
}
.footer .container-footer {
text-align: center;
padding: 0 16px;
}
.footer .list-inline > li + li + li {
float: none;
}
.footer .list-inline > li {
@@ -226,4 +239,21 @@ body.dark-theme .footer a.footer-logo .site-footer__logo--night {
margin: 12px 0;
max-width: none !important;
}
.footer .title-h-left:before {
left: 50%;
transform: translateX(-50%);
}
}
/* Float right buttons shell (kept from prior shell) */
#float-right-btns.float-right,
.float-right {
position: fixed;
right: 16px;
bottom: 60px;
z-index: 1030;
display: flex;
flex-direction: column;
gap: 8px;
}