2026-05-16 04:24:10 +08:00

240 lines
5.3 KiB
Plaintext

<br>
<mdui-divider></mdui-divider>
<mdui-footer class="site-footer">
<div class="footer-content">
<!-- 主要信息区域 -->
<div class="footer-main">
<!-- 版权信息 -->
<div class="copyright">
<mdui-chip variant="filled" class="footer-chip">
<mdui-icon name="copyright" slot="icon"></mdui-icon>
&copy; <%= new Date().getFullYear() %>
<a href="<%= url_for() %>" class="site-link"><%= config.title %></a>
<% if (theme.footer && theme.footer.copyright) { %>
· <%= theme.footer.copyright %>
<% } %>
</mdui-chip>
</div>
<div class="theme">
<mdui-chip variant="filled" class="footer-chip">
<mdui-icon name="code" slot="icon"></mdui-icon>
<a href="https://github.com/can1425/materialis" class="site-link">Materialis</a>
</mdui-chip>
</div>
<!-- 备案信息 -->
<% if (theme.footer && theme.footer.beian) { %>
<div class="beian-info">
<% if (theme.footer.beian.icp) { %>
<mdui-chip
variant="filled-tonal"
class="footer-chip beian-chip"
href="https://beian.miit.gov.cn/"
target="_blank"
>
<mdui-icon name="verified" slot="icon"></mdui-icon>
<%= theme.footer.beian.icp %>
</mdui-chip>
<% } %>
<% if (theme.footer.beian.ps) { %>
<mdui-chip
variant="filled-tonal"
class="footer-chip beian-chip"
href="http://www.beian.gov.cn/"
target="_blank"
>
<mdui-icon name="security" slot="icon"></mdui-icon>
<%= theme.footer.beian.ps %>
</mdui-chip>
<% } %>
</div>
<% } %>
<!-- 自定义徽章 -->
<% if (theme.footer && theme.footer.badges) { %>
<div class="custom-badges">
<% theme.footer.badges.forEach(function(badge) { %>
<mdui-chip
variant="<%= badge.variant || 'filled-tonal' %>"
class="footer-chip custom-badge"
<%= badge.href ? `href="${badge.href}" target="_blank"` : '' %>
>
<% if (badge.icon) { %>
<mdui-icon slot="icon" name="<%= badge.icon %>"></mdui-icon>
<% } %>
<%= badge.text %>
</mdui-chip>
<% }); %>
</div>
<% } %>
</div>
</div>
</mdui-footer>
<style>
/* 强制底部布局 */
.site-footer {
background: var(--mdui-color-surface);
border-top: 1px solid var(--mdui-color-outline-variant);
margin-top: auto !important;
width: 100%;
flex-shrink: 0;
}
.footer-content {
max-width: 1200px;
margin: 0 auto;
padding: 1.5rem 1rem;
}
/* 主要信息区域 */
.footer-main {
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
gap: 1rem;
}
/* Chip 通用样式 */
.footer-chip {
--mdui-chip-height: 32px;
--mdui-chip-container-color: var(--mdui-color-surface-container);
--mdui-chip-outline-color: var(--mdui-color-outline-variant);
transition: all 0.3s ease;
font-family: var(--mdui-font-family);
font-size: 0.875rem;
line-height: 1.5;
text-align: center;
}
.footer-chip:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
/* 版权信息 Chip */
.copyright .footer-chip {
--mdui-chip-container-color: var(--mdui-color-primary-container);
--mdui-chip-label-text-color: var(--mdui-color-on-primary-container);
}
/* 备案信息 Chip */
.beian-chip {
--mdui-chip-container-color: var(--mdui-color-secondary-container);
--mdui-chip-label-text-color: var(--mdui-color-on-secondary-container);
}
/* 主题信息 Chip */
.theme-info .footer-chip {
--mdui-chip-outline-color: var(--mdui-color-primary);
--mdui-chip-label-text-color: var(--mdui-color-primary);
}
/* 链接样式 */
.site-link {
color: inherit;
text-decoration: none;
font-weight: 500;
margin: 0 2px;
vertical-align: middle;
}
.site-link:hover {
text-decoration: underline;
}
.tech-link {
color: inherit;
text-decoration: none;
font-weight: 500;
margin: 0 2px;
vertical-align: middle;
}
.tech-link:hover {
text-decoration: underline;
}
/* 备案信息 */
.beian-info {
display: flex;
gap: 0.5rem;
flex-shrink: 0;
align-items: center;
justify-content: center;
}
/* 自定义徽章 */
.custom-badges {
display: flex;
gap: 0.5rem;
flex-wrap: wrap;
flex-shrink: 0;
align-items: center;
justify-content: flex-end;
}
.custom-badge {
cursor: pointer;
}
/* 响应式设计 */
@media (max-width: 1024px) {
.footer-main {
justify-content: center;
gap: 1rem;
}
.custom-badges {
justify-content: center;
}
}
@media (max-width: 768px) {
.footer-content {
padding: 1rem;
}
.footer-main {
flex-direction: column;
text-align: center;
gap: 0.75rem;
}
.custom-badges {
justify-content: center;
}
.beian-info {
flex-direction: column;
align-items: center;
}
.footer-chip {
text-align: center;
justify-content: center;
}
}
@media (max-width: 480px) {
.footer-content {
padding: 0.75rem;
}
.footer-chip {
--mdui-chip-height: 28px;
font-size: 0.875rem;
}
.custom-badges,
.beian-info {
width: 100%;
}
}
</style>