MediaWiki:Common.css
来自Age Of History 2 Chinese Wiki
注意:在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Edge:按住Ctrl的同时单击刷新,或按Ctrl-F5。
/* Windows XP风格MediaWiki主题 - 完整迁移自Wikidot */
/* 导入所需字体 */
@import url("https://fonts.googleapis.com/css2?family=Microsoft+Sans+Serif&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap");
@import url("https://fastly.jsdelivr.net/gh/hoah2333/Fonts@main/Typeface-VonwaonBitmap-16px.css");
@import url("https://fastly.jsdelivr.net/gh/hoah2333/Fonts@main/Typeface-VonwaonBitmap-12px.css");
@import url('https://fonts.googleapis.com/css2?family=VT323&display=swap');
:root {
/* 主题基础设置 */
--fade-in-delay: 0.1s;
--theme-base: "xp-style";
--theme-id: "windows-xp";
--theme-name: "Windows XP Theme";
--header-title: "The Backrooms";
--header-subtitle: "正 在 开 机 . . .";
/* 字体设置 - 保持原有字体 */
--body-font: "VonwaonBitmap 16px", VT323, monospace;
--header-font: "VonwaonBitmap 16px", VT323, monospace;
--title-font: "VonwaonBitmap 16px", VT323, monospace;
--mono-font: "VonwaonBitmap 16px", VT323, monospace;
--pixel-font-16: 'VonwaonBitmap 16px', VT323, monospace;
--pixel-font-12: 'VonwaonBitmap 12px', VT323, monospace;
--base-font-size: 14px;
/* Windows XP 颜色方案 */
--xp-blue: 49, 106, 197;
--xp-blue-light: 82, 153, 235;
--xp-blue-dark: 16, 35, 85;
--xp-green: 57, 154, 48;
--xp-button: 192, 192, 192;
--xp-window-border: 0, 0, 0;
--xp-window-bg: 236, 233, 216;
--xp-text: 0, 0, 0;
/* 颜色方案 - 迁移并适配XP风格 */
--white-monochrome: 255, 255, 255;
--pale-gray-monochrome: 236, 233, 216;
--light-gray-monochrome: 192, 192, 192;
--gray-monochrome: 128, 128, 128;
--black-monochrome: 0, 0, 0;
--bright-accent: var(--xp-blue);
--medium-accent: var(--xp-blue);
--dark-accent: var(--xp-blue-dark);
--pale-accent: var(--xp-blue-light);
/* 链接颜色 */
--link-color: 0, 0, 255;
--visited-link-color: 128, 0, 128;
--hover-link-color: 0, 0, 255;
/* 文本阴影 */
--text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
/* 边框和阴影 */
--window-border: 1px solid rgb(var(--xp-window-border));
--window-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
}
/* 应用全局字体 */
body {
font-family: var(--body-font) !important;
font-size: var(--base-font-size) !important;
line-height: 1.5 !important;
background-color: #3a6ea5; /* 经典XP桌面蓝色背景 */
background-image: url("local-files/windows-xp-bliss.jpg");
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-attachment: fixed;
color: rgb(var(--xp-text));
}
/* 标题字体 */
h1, h2, h3, h4, h5, h6, #firstHeading {
font-family: var(--title-font);
color: rgb(var(--white-monochrome));
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
padding: 5px 10px;
margin-top: 10px;
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
text-shadow: var(--text-shadow);
}
/* 窗口操作按钮 - 关闭、最大化、最小化 */
h1::after,
h2::after,
h3::after,
h4::after,
h5::after,
h6::after,
#firstHeading::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
}
h1::before,
h2::before,
h3::before,
h4::before,
h5::before,
h6::before,
#firstHeading::before {
content: "□";
position: absolute;
top: 2px;
right: 25px;
width: 16px;
height: 16px;
background-color: rgb(var(--light-gray-monochrome));
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: black;
cursor: pointer;
}
h1 span::before,
h2 span::before,
h3 span::before,
h4 span::before,
h5 span::before,
h6 span::before,
#firstHeading span::before {
content: "_";
position: absolute;
top: 2px;
right: 45px;
width: 16px;
height: 16px;
background-color: rgb(var(--light-gray-monochrome));
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 14px;
font-size: 12px;
color: black;
font-weight: bold;
cursor: pointer;
}
/* 链接样式 */
a {
color: rgb(var(--link-color));
text-decoration: none;
}
a:visited {
color: rgb(var(--visited-link-color));
}
a:hover {
color: rgb(var(--hover-link-color));
text-decoration: underline;
}
/* ">" 箭头指示符 - 保留原样 */
a:hover::before {
content: "> ";
}
/* 背景样式 */
html, body {
background-color: #3a6ea5 !important; /* 保留XP桌面风格 */
}
/* 搜索框和搜索按钮样式 */
#searchButton,
.searchButton,
input[type="submit"],
input[type="button"],
.mw-ui-button,
button[name="go"],
button[name="fulltext"],
.mw-ui-button.mw-ui-progressive {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0) !important;
border: 1px solid #ababab !important;
color: black !important;
font-family: var(--body-font) !important;
padding: 3px 8px !important;
cursor: pointer !important;
transition: all 0.2s ease !important;
border-radius: 0 !important;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}
#searchButton:hover,
.searchButton:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.mw-ui-button:hover,
button[name="go"]:hover,
button[name="fulltext"]:hover,
.mw-ui-button.mw-ui-progressive:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9) !important;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3) !important;
}
/* 分类条样式 */
#catlinks,
.catlinks {
background-color: rgb(var(--xp-window-bg)) !important;
border: 1px solid rgb(var(--xp-window-border)) !important;
padding: 0.5em !important;
margin-top: 1em !important;
font-family: var(--body-font) !important;
box-shadow: var(--window-shadow) !important;
}
#catlinks a,
.catlinks a {
color: rgb(var(--link-color)) !important;
text-decoration: none !important;
}
#catlinks a:hover,
.catlinks a:hover {
color: rgb(var(--hover-link-color)) !important;
text-decoration: underline !important;
}
/* 工具栏样式 */
#footer-info,
#footer-places,
.footer-places,
.footer-info {
background-color: rgb(var(--xp-window-bg)) !important;
border-top: 1px solid rgb(var(--xp-window-border)) !important;
color: rgb(var(--xp-text)) !important;
padding: 0.5em 1em !important;
font-family: var(--body-font) !important;
}
#footer-info a,
#footer-places a {
color: rgb(var(--link-color)) !important;
}
#footer-info a:hover,
#footer-places a:hover {
color: rgb(var(--hover-link-color)) !important;
}
/* 主内容区背景 */
#content {
background-color: rgb(var(--xp-window-bg));
position: relative;
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin: 10px auto;
padding: 0;
border-radius: 0;
}
/* 导航栏 */
.navbar,
.navbar.navbar-default,
.navbar-light {
background-color: rgb(var(--xp-window-bg)) !important;
border: 1px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
.navbar .navbar-brand,
.navbar .nav-link,
.navbar-light .navbar-nav .nav-link {
color: rgb(var(--link-color)) !important;
font-family: var(--header-font) !important;
}
.navbar .nav-link:hover,
.navbar-light .navbar-nav .nav-link:hover {
color: rgb(var(--hover-link-color)) !important;
background-color: rgba(var(--xp-blue), 0.1) !important;
}
/* 下拉菜单 */
.dropdown-menu {
background-color: rgb(var(--xp-window-bg)) !important;
border: 1px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
.dropdown-item {
color: rgb(var(--link-color)) !important;
font-family: var(--body-font) !important;
}
.dropdown-item:hover {
background-color: rgba(var(--xp-blue), 0.1) !important;
color: rgb(var(--hover-link-color)) !important;
}
/* 侧边栏 */
#mw-navigation, #mw-panel, .sidebar {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
#mw-navigation h2, #mw-panel h3, .sidebar h3 {
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light))) !important;
color: rgb(var(--white-monochrome)) !important;
font-family: var(--header-font) !important;
border-bottom: 1px solid rgb(var(--xp-window-border)) !important;
padding: 5px 10px !important;
text-shadow: var(--text-shadow) !important;
position: relative !important;
}
/* 工具栏 */
#p-tb, .tools-menu {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
/* 内容区域 */
#content, .mw-body {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
/* 页脚 */
#footer, .footer {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
border-top: 1px solid rgb(var(--xp-window-border)) !important;
color: rgb(var(--xp-text)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
margin: 10px auto !important;
padding: 10px !important;
}
/* 搜索框 */
#searchInput, .form-control {
background-color: white !important;
border: 1px solid #7f9db9 !important;
color: rgb(var(--xp-text)) !important;
font-family: var(--body-font) !important;
padding: 3px 5px !important;
}
/* 按钮 */
.btn, .mw-ui-button {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0) !important;
border: 1px solid #ababab !important;
color: black !important;
font-family: var(--body-font) !important;
padding: 3px 8px !important;
border-radius: 0 !important;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2) !important;
}
.btn:hover, .mw-ui-button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9) !important;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3) !important;
}
/* 表格 */
.wikitable, table.wikitable {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
border-collapse: separate !important;
border-spacing: 0 !important;
box-shadow: var(--window-shadow) !important;
}
.wikitable th {
background: linear-gradient(to bottom, #e3e3e3, #d0d0d0) !important;
border: 1px solid #ababab !important;
color: black !important;
padding: 5px !important;
}
.wikitable td {
border: 1px solid #ababab !important;
background-color: white !important;
color: black !important;
padding: 5px !important;
}
/* 代码块和预格式文本 */
pre, code, .mw-code {
background-color: white !important;
border: 1px solid #ababab !important;
color: black !important;
font-family: var(--mono-font) !important;
padding: 5px !important;
}
/* 链接颜色 */
a {
color: rgb(var(--link-color)) !important;
}
a:visited {
color: rgb(var(--visited-link-color)) !important;
}
a:hover {
color: rgb(var(--hover-link-color)) !important;
text-decoration: underline !important;
}
/* 扫描线动画 - 修改为半透明灰色 */
.scan-animation {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
pointer-events: none;
z-index: 9999;
}
/* 主扫描线 - 较宽较慢 */
.scan-animation::before {
content: "";
position: absolute;
width: 100%;
height: 6px;
top: 0;
background: linear-gradient(
to bottom,
rgba(128, 128, 128, 0) 0%,
rgba(128, 128, 128, 0.1) 20%,
rgba(128, 128, 128, 0.2) 50%,
rgba(128, 128, 128, 0.1) 80%,
rgba(128, 128, 128, 0) 100%
);
box-shadow:
0 0 8px rgba(128, 128, 128, 0.15),
0 0 15px rgba(128, 128, 128, 0.1);
animation: scanMain 12s linear infinite;
opacity: 0.4;
}
/* 副扫描线 - 中等速度 */
.scan-animation::after {
content: "";
position: absolute;
width: 100%;
height: 3px;
top: 0;
background: linear-gradient(
to bottom,
rgba(128, 128, 128, 0) 0%,
rgba(128, 128, 128, 0.3) 50%,
rgba(128, 128, 128, 0) 100%
);
box-shadow: 0 0 6px rgba(128, 128, 128, 0.2);
animation: scanSecondary 7s linear infinite;
animation-delay: -3s;
opacity: 0.25;
}
/* 快速扫描线 - 细小快速 */
.scan-animation .fast-scan {
position: absolute;
width: 100%;
height: 1px;
top: 0;
background: rgba(128, 128, 128, 0.6);
box-shadow: 0 0 3px rgba(128, 128, 128, 0.3);
animation: scanFast 3s linear infinite;
animation-delay: -1.5s;
opacity: 0.15;
}
/* 各个扫描线的动画 */
@keyframes scanMain {
0% {
top: -2rem;
opacity: 0.6;
}
50% {
opacity: 0.3;
}
100% {
top: 100vh;
opacity: 0.6;
}
}
@keyframes scanSecondary {
0% {
top: -1rem;
opacity: 0.4;
}
35% {
opacity: 0.2;
}
70% {
opacity: 0.5;
}
100% {
top: 100vh;
opacity: 0.4;
}
}
@keyframes scanFast {
0% {
top: -0.3rem;
opacity: 0.3;
}
50% {
opacity: 0.6;
}
100% {
top: 100vh;
opacity: 0.3;
}
}
/* 保留原始的淡入效果 */
@keyframes fadeIn {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
/* 应用动画到内容 */
.mw-parser-output > * {
animation: fadeIn 0.5s ease-out forwards;
opacity: 0;
}
/* 延迟动画 */
.mw-parser-output > *:nth-child(1) { animation-delay: 0.1s; }
.mw-parser-output > *:nth-child(2) { animation-delay: 0.2s; }
.mw-parser-output > *:nth-child(3) { animation-delay: 0.3s; }
.mw-parser-output > *:nth-child(4) { animation-delay: 0.4s; }
.mw-parser-output > *:nth-child(5) { animation-delay: 0.5s; }
.mw-parser-output > *:nth-child(n+6) { animation-delay: 0.6s; }
/* 修复代码区域样式 */
.mw-highlight pre {
background-color: white !important;
border: 1px solid #ababab !important;
padding: 1em !important;
overflow: auto !important;
}
/* 语法高亮颜色 - 保持原有值 */
.mw-highlight .k { color: #0000AA !important; } /* 关键字 */
.mw-highlight .s { color: #006600 !important; } /* 字符串 */
.mw-highlight .c { color: #666666 !important; } /* 注释 */
.mw-highlight .n { color: #000000 !important; } /* 名称 */
.mw-highlight .o { color: #000000 !important; } /* 运算符 */
/* 引用样式 - Windows XP风格 */
.lightstyled-quote, .darkstyled-quote {
background-color: rgb(var(--xp-window-bg));
color: rgb(var(--xp-text));
border: 1px solid #ababab;
padding: 10px;
margin: 10px 0;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
border-left: 4px solid rgb(var(--xp-blue));
position: relative;
}
.lightstyled-quote::before, .darkstyled-quote::before {
content: "Information";
position: absolute;
top: -22px;
left: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 2px 10px;
font-weight: bold;
font-size: 0.9em;
text-shadow: var(--text-shadow);
}
/* 块样式 - Windows XP风格 */
.lightblock, .darkblock {
background-color: rgb(var(--xp-window-bg));
color: rgb(var(--xp-text));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
padding: 10px;
margin: 10px 0;
position: relative;
border-radius: 0;
}
.lightblock::before, .darkblock::before {
content: "Message";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-align: left;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
}
.lightblock::after, .darkblock::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
/* 保留黑幕效果 - 行826-947 */
.heimu,
.heimu rt{
--heimu-color:#252525;
--heimu-text-color:#fff;
--heimu-link-color:#add8e6;
--heimu-visited-link-color:#c5cae9;
--heimu-new-link-color:#fcc;
--heimu-new-visited-link-color:#ef9a9a;
--heimu-extiw-visited-link-color:#d1c4e9;
background-color:var(--heimu-color);
}
.heimu,
.heimu a,
a .heimu,
a.new .heimu,
span.heimu a:visited,
span.heimu a.new,
span.heimu a.external,
span.heimu a.external:visited,
span.heimu a.extiw,
span.heimu a.extiw:visited,
span.heimu a.mw-disambig,
span.heimu a.mw-redirect{
transition:color 0.13s linear;
color:var(--heimu-color);
text-shadow:none;
}
span.heimu:hover,
span.heimu:active{
color:var(--heimu-text-color);
}
span.heimu:hover a,
a:hover span.heimu{
color:var(--heimu-link-color);
}
span.heimu:hover a:visited,
a:visited:hover span.heimu{
color:var(--heimu-visited-link-color);
}
span.heimu:hover a.new,
a.new:hover span.heimu{
color:var(--heimu-new-link-color);
}
span.heimu a.new:hover:visited,
a.new:hover:visited span.heimu{
color:var(--heimu-new-visited-link-color);
}
span.heimu:hover a.extiw:visited,
a.extiw:visited:hover span.heimu{
color:var(--heimu-extiw-visited-link-color);
}
[color-mode="dark"] .heimu,
[color-mode="dark"] .heimu rt{
--heimu-color:#5e6272;
}
/* 保留彩幕效果 - 行1778-1838 */
.colormu-drk {
color: #FFF;
}
.colormu-bri {
color: #000;
}
.colormu-drk:not(.colormu_toggle_on) a {
color: #add8e6;
}
.colormu-drk:not(.colormu_toggle_on) a.new {
color: #FCC;
}
.colormu>span, .colormu a, .colormu a>span {
transition: color 0.2s;
}
.colormu:not(:hover):not(:active):not(.colormu_toggle_on)>span,
.colormu:not(:hover):not(:active):not(.colormu_toggle_on) a {
color: transparent;
}
/* for T:Coloredlink in T:彩幕 */
.colormu:not(:hover):not(:active):not(.colormu_toggle_on) a>span {
color: transparent !important;
}
/* for T:彩幕 in link */
a .colormu-bri {
color: inherit;
}
a:hover .colormu>span, a:active .colormu>span,
/* and for MediaWiki:Gadget-heimu-toggle.js */
.colormu-drk.colormu_toggle_on, .colormu_toggle_on>span, .colormu-drk.colormu_toggle_on a>span {
color: inherit !important;
}
/* 橙幕效果 - 修改为Windows XP样式 */
.blackmu,
.blackmu rt {
--blackmu-color: var(--xp-blue);
--blackmu-text-color: 255, 255, 255;
--blackmu-link-color: 173, 216, 230;
--blackmu-visited-link-color: 197, 202, 233;
--blackmu-new-link-color: 255, 204, 204;
--blackmu-new-visited-link-color: 239, 154, 154;
--blackmu-extiw-visited-link-color: 209, 196, 233;
background-color: rgb(var(--blackmu-color));
}
.blackmu,
.blackmu a,
a .blackmu,
a.new .blackmu,
span.blackmu a:visited,
span.blackmu a.new,
span.blackmu a.external,
span.blackmu a.external:visited,
span.blackmu a.extiw,
span.blackmu a.extiw:visited,
span.blackmu a.mw-disambig,
span.blackmu a.mw-redirect {
transition: color 0.13s linear;
color: rgb(var(--blackmu-color));
text-shadow: none;
}
span.blackmu:hover,
span.blackmu:active {
color: rgb(var(--blackmu-text-color));
}
span.blackmu:hover a,
a:hover span.blackmu {
color: rgb(var(--blackmu-link-color));
}
/* 保留特效库代码 - 行949-1777 */
/*
该文档为一个hover特效库,由一些常用的效果以及GitHub上的开源项目“Hover.css”的一些部分构成。
请使用hovers在页面中进行载入。
*/
/* hover状态切换 */
.hover-change,
.hover-remote {
position: relative;
display: inline-block;
transition: opacity 0.5s linear;
}
.hover-change-before,
.hover-change-after,
.hover-remote-target {
transition: inherit;
}
.hover-change-after,
.hover-remote-target {
opacity: 0;
position: absolute;
top: 0;
left: 0;
}
.hover-remote-target {
left: 100%;
}
.hover-change-after[style^='right:'],
.hover-change-after[style*=' right:'],
.hover-remote-after[style^='right:'],
.hover-remote-after[style*=' right:'] {
left: initial;
}
.hover-change-after[style^='bottom:'],
.hover-change-after[style*=' bottom:'],
.hover-remote-after[style^='bottom:'],
.hover-remote-after[style*=' bottom:'] {
top: initial;
}
.hover-change-after:hover,
.hover-remote-target {
opacity: 0;
margin-left: -9999px;
}
/* 主要用于制作hover形式的标签页(tab)切换 */
.hover-tab-mode {
position: relative;
transition: none;
}
.hover-tab-mode .hover-remote {
transition: inherit;
position: static;
}
/* 闪烁效果 */
.hover-change.flash:hover .hover-change-before {
margin-left: -9999px;
}
.hover-change:hover > .hover-change-before,
.hover-remote > .hover-remote-target,
.hover-change:hover > a > .hover-change-before,
.hover-remote > a > .hover-remote-target {
opacity: 0;
}
.hover-change:hover > .hover-change-after,
.hover-remote:hover > .hover-remote-target,
.hover-change:hover > a > .hover-change-after,
.hover-remote:hover > a > .hover-remote-target {
opacity: 1;
margin-left: initial;
}
/* 基类 */
[class*='hovers-'] {
display: inline-block;
box-shadow: 0 0 1px rgba(0, 0, 0, 0);
transform: perspective(1px) translateZ(0);
vertical-align: middle;
transition-duration: 0.25s;
transition-property: all;
}
/* 旋转放大 */
.hovers-rotate-shrink {
transition-duration: 0.5s;
transform: rotate(0) scale(0.75);
}
.hovers-rotate-shrink:hover {
transform: rotate(360deg) scale(1);
}
.hovers-rotate-shrink-reverse {
transition-duration: 0.5s;
transform: rotate(360deg) scale(0.75);
}
.hovers-rotate-shrink-reverse:hover {
transform: rotate(0) scale(1);
}
/* 旋转 */
.hovers-rotate,
.hovers-rotate-reverse:hover {
transition-duration: 0.5s;
transform: rotate(0);
}
.hovers-rotate-reverse,
.hovers-rotate:hover {
transition-duration: 0.5s;
transform: rotate(360deg);
}
/* 正常 => 浅 */
.hovers-fade-deep,
.hovers-fade,
.hovers-fade-shallow {
opacity: 1;
}
.hovers-fade-deep:hover,
.hovers-fade-deep.active {
opacity: 0.35;
}
.hovers-fade:hover,
.hovers-fade.active {
opacity: 0.5;
}
.hovers-fade-shallow:hover,
.hovers-fade-shallow.active {
opacity: 0.75;
}
/* 浅 => 正常 */
.hovers-bloom-deep {
opacity: 0.35;
}
.hovers-bloom {
opacity: 0.5;
}
.hovers-bloom-shallow {
opacity: 0.75;
}
.hovers-bloom-deep:hover,
.hovers-bloom-deep.active,
.hovers-bloom:hover,
.hovers-bloom.active,
.hovers-bloom-shallow:hover,
.hovers-bloom-shallow.active {
opacity: 1;
}
/* 正常 => 大 */
.hovers-grow-deep,
.hovers-grow,
.hovers-grow-shallow {
transform: scale(1);
}
.hovers-grow-deep:hover,
.hovers-grow-deep.active {
transform: scale(1.5);
}
.hovers-grow:hover,
.hovers-grow.active {
transform: scale(1.25);
}
.hovers-grow-shallow:hover,
.hovers-grow-shallow.active {
transform: scale(1.1);
}
/* 正常 => 小 */
.hovers-shrink-deep:hover,
.hovers-shrink-deep.active,
.hovers-shrink:hover,
.hovers-shrink.active,
.hovers-shrink-shallow:hover,
.hovers-shrink-shallow.active {
transform: scale(1);
}
.hovers-shrink-deep {
transform: scale(0.5);
}
.hovers-shrink {
transform: scale(0.75);
}
.hovers-shrink-shallow {
transform: scale(0.9);
}
/* 左右抖动 */
@keyframes shake-flexible {
25% {
transform: translateX(-0.0625em);
}
50% {
transform: translateX(0.0625em);
}
75% {
transform: translateX(-0.0625em);
}
}
.hovers-shake-flexible:hover,
.hovers-shake-flexible.active {
animation: shake-flexible 0.5s ease-out;
}
@keyframes shake {
25% {
transform: translateX(-8px);
}
50% {
transform: translateX(8px);
}
75% {
transform: translateX(-8px);
}
}
.hovers-shake:hover,
.hovers-shake.active {
animation: shake 0.5s ease-out;
}
/* 上下抖动 */
@keyframes bounce-flexible {
25% {
transform: translateY(-0.0625em);
}
50% {
transform: translateY(0.0625em);
}
75% {
transform: translateY(-0.0625em);
}
}
.hovers-bounce-flexible:hover,
.hovers-bounce-flexible.active {
animation: bounce-flexible 0.5s ease-out;
}
@keyframes bounce {
25% {
transform: translateY(-8px);
}
50% {
transform: translateY(8px);
}
75% {
transform: translateY(-8px);
}
}
.hovers-bounce:hover,
.hovers-bounce.active {
position: relative;
left: 0;
animation: bounce 0.5s ease-out;
}
/* 绕顶端中点抖动 */
@keyframes swing {
20% {
transform: rotate3d(0, 0, 1, 10deg);
}
40% {
transform: rotate3d(0, 0, 1, -10deg);
}
60% {
transform: rotate3d(0, 0, 1, 5deg);
}
80% {
transform: rotate3d(0, 0, 1, -5deg);
}
to {
transform: rotate3d(0, 0, 1, 0deg);
}
}
.hovers-swing {
transform-origin: top center;
}
.hovers-swing:hover,
.hovers-swing.active {
animation: swing 0.75s ease-out;
}
/* 正常 => 大 */
@keyframes pulse-grow {
to {
transform: scale(1.1);
}
}
.hovers-pulse-grow:hover,
.hovers-pulse-grow.active {
animation: pulse-grow 0.5s linear infinite alternate;
}
/* 正常 => 小 */
@keyframes pulse-shrink {
to {
transform: scale(0.9);
}
}
.hovers-pulse-shrink:hover,
.hovers-pulse-shrink.active {
animation: pulse-shrink 0.5s linear infinite alternate;
}
/* 正常 => 小 */
@keyframes push {
50% {
transform: scale(0.8);
}
}
.hovers-push:hover,
.hovers-push.active {
animation: push 0.3s linear;
}
/* 正常 => 大 */
@keyframes pop {
50% {
transform: scale(1.2);
}
}
.hovers-pop:hover,
.hovers-pop.active {
animation: pop 0.3s linear;
}
/* 正常 => 大 => 正常 => 大 */
.hovers-bounce-in:hover,
.hovers-bounce-in.active {
transform: scale(1.2);
transition-duration: 0.5s;
transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
/* 正常 => 小 => 正常 => 小 */
.hovers-bounce-out:hover,
.hovers-bounce-out.active {
transform: scale(0.8);
transition-duration: 0.5s;
transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}
/* 倾斜 */
.hovers-tilt:hover,
.hovers-tilt.active {
transition-duration: 0.3s;
transform: rotate(4deg);
}
/* 倾斜 + 放大 */
.hovers-grow-rotate:hover,
.hovers-grow-rotate.active {
transition-duration: 0.3s;
transform: scale(1.1) rotate(4deg);
}
/* 升起 */
.hovers-float:hover,
.hovers-float.active {
transition-duration: 0.3s;
transition-timing-function: ease-out;
transform: translateY(-8px);
}
/* 下沉 */
.hovers-sink:hover,
.hovers-sink.active {
transition-duration: 0.3s;
transition-timing-function: ease-out;
transform: translateY(8px);
}
/* 飘浮 */
@keyframes bob {
0% {
transform: translateY(-10px);
}
50% {
transform: translateY(-5px);
}
100% {
transform: translateY(-10px);
}
}
@keyframes bob-float {
100% {
transform: translateY(-10px);
}
}
.hovers-bob:hover,
.hovers-bob.active {
animation-name: bob-float, bob;
animation-duration: 0.3s, 1.5s;
animation-delay: 0s, 0.3s;
animation-timing-function: ease-out, ease-in-out;
animation-iteration-count: 1, infinite;
animation-fill-mode: forwards;
animation-direction: normal, alternate;
}
/* 悬挂 */
@keyframes hang {
0% {
transform: translateY(10px);
}
50% {
transform: translateY(5px);
}
100% {
transform: translateY(10px);
}
}
@keyframes hang-sink {
100% {
transform: translateY(10px);
}
}
.hovers-hang:hover,
.hovers-hang.active {
animation-name: hang-sink, hang;
animation-duration: 0.3s, 1.5s;
animation-delay: 0s, 0.3s;
animation-timing-function: ease-out, ease-in-out;
animation-iteration-count: 1, infinite;
animation-fill-mode: forwards;
animation-direction: normal, alternate;
}
/* 非对称 */
.hovers-skew:hover,
.hovers-skew.active {
transform: skew(-10deg);
}
/* 非对称-左 */
.hovers-skew-forward {
transform-origin: 0 100%;
}
.hovers-skew-forward:hover,
.hovers-skew-forward.active {
transform: skew(-10deg);
}
/* 非对称-右 */
.hovers-skew-backward {
transform-origin: 0 100%;
}
.hovers-skew-backward:hover,
.hovers-skew-backward.active {
transform: skew(10deg);
}
/* 垂直抖动 */
@keyframes wobble-vertical {
16.65% {
transform: translateY(8px);
}
33.3% {
transform: translateY(-6px);
}
49.95% {
transform: translateY(4px);
}
66.6% {
transform: translateY(-2px);
}
83.25% {
transform: translateY(1px);
}
100% {
transform: translateY(0);
}
}
.hovers-wobble-vertical:hover,
.hovers-wobble-vertical.active {
animation-name: wobble-vertical;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 水平抖动 */
@keyframes wobble-horizontal {
16.65% {
transform: translateX(8px);
}
33.3% {
transform: translateX(-6px);
}
49.95% {
transform: translateX(4px);
}
66.6% {
transform: translateX(-2px);
}
83.25% {
transform: translateX(1px);
}
100% {
transform: translateX(0);
}
}
.hovers-wobble-horizontal:hover,
.hovers-wobble-horizontal.active {
animation-name: wobble-horizontal;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 右下弹回 */
@keyframes wobble-to-bottom-right {
16.65% {
transform: translate(8px, 8px);
}
33.3% {
transform: translate(-6px, -6px);
}
49.95% {
transform: translate(4px, 4px);
}
66.6% {
transform: translate(-2px, -2px);
}
83.25% {
transform: translate(1px, 1px);
}
100% {
transform: translate(0, 0);
}
}
.hovers-wobble-to-bottom-right:hover,
.hovers-wobble-to-bottom-right.active {
animation-name: wobble-to-bottom-right;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 右上弹回 */
@keyframes wobble-to-top-right {
16.65% {
transform: translate(8px, -8px)
}
33.3% {
transform: translate(-6px, 6px);
}
49.95% {
transform: translate(4px, -4px);
}
66.6% {
transform: translate(-2px, 2px);
}
83.25% {
transform: translate(1px, -1px);
}
100% {
transform: translate(0);
}
}
.hovers-wobble-to-top-right:hover,
.hovers-wobble-to-top-right.active {
animation-name: wobble-to-top-right;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 果冻 */
@keyframes wobble-top {
16.65% {
transform: skew(-12deg);
}
33.3% {
transform: skew(10deg);
}
49.95% {
transform: skew(-6deg);
}
66.6% {
transform: skew(4deg);
}
83.25% {
transform: skew(-2deg);
}
100% {
transform: skew(0);
}
}
/* 赘肉 */
.hovers-wobble-top {
transform-origin: 0 100%;
}
.hovers-wobble-top:hover,
.hovers-wobble-top.active {
animation-name: wobble-top;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
@keyframes wobble-bottom {
16.65% {
transform: skew(-12deg);
}
33.3% {
transform: skew(10deg);
}
49.95% {
transform: skew(-6deg);
}
66.6% {
transform: skew(4deg);
}
83.25% {
transform: skew(-2deg);
}
100% {
transform: skew(0);
}
}
.hovers-wobble-bottom {
transform-origin: 100% 0;
}
.hovers-wobble-bottom:hover,
.hovers-wobble-bottom.active {
animation-name: wobble-bottom;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 颤动 */
@keyframes wobble-skew {
16.65% {
transform: skew(-12deg);
}
33.3% {
transform: skew(10deg);
}
49.95% {
transform: skew(-6deg);
}
66.6% {
transform: skew(4deg);
}
83.25% {
transform: skew(-2deg);
}
100% {
transform: skew(0);
}
}
.hovers-wobble-skew:hover,
.hovers-wobble-skew.active {
animation-name: wobble-skew;
animation-duration: 1s;
animation-timing-function: ease-in-out;
animation-iteration-count: 1;
}
/* 振动 */
@keyframes buzz {
50% {
transform: translateX(3px) rotate(2deg);
}
100% {
transform: translateX(-3px) rotate(-2deg);
}
}
.hovers-buzz:hover,
.hovers-buzz.active {
animation-name: buzz;
animation-duration: 0.15s;
animation-timing-function: linear;
animation-iteration-count: infinite;
}
/* 振出 */
@keyframes buzz-out {
10% {
transform: translateX(3px) rotate(2deg);
}
20% {
transform: translateX(-3px) rotate(-2deg);
}
30% {
transform: translateX(3px) rotate(2deg);
}
40% {
transform: translateX(-3px) rotate(-2deg);
}
50% {
transform: translateX(2px) rotate(1deg);
}
60% {
transform: translateX(-2px) rotate(-1deg);
}
70% {
transform: translateX(2px) rotate(1deg);
}
80% {
transform: translateX(-2px) rotate(-1deg);
}
90% {
transform: translateX(1px) rotate(0);
}
100% {
transform: translateX(-1px) rotate(0);
}
}
.hovers-buzz-out:hover,
.hovers-buzz-out.active {
animation-name: buzz-out;
animation-duration: 0.75s;
animation-timing-function: linear;
animation-iteration-count: 1;
}
/* 右移 */
.hovers-forward:hover,
.hovers-forward.active {
transform: translateX(8px);
}
/* 左移 */
.hovers-backward:hover,
.hovers-backward.active {
transform: translateX(-8px);
}
/* 自由移动 */
.hovers-top,
.hovers-left,
.hovers-bottom,
.hovers-right {
transition: all 0.5s;
}
.hovers-top:hover,
.hovers-top.active {
transform: translateY(-0.0625em);
}
.hovers-left:hover,
.hovers-left.active {
transform: translateX(-0.0625em);
}
.hovers-bottom:hover,
.hovers-bottom.active {
transform: translateY(0.0625em);
}
.hovers-right:hover,
.hovers-right.active {
transform: translateX(0.0625em);
}
/* 滤镜 */
.hovers-blur,
.hovers-blur-reverse,
.hovers-brightness,
.hovers-brightness-reverse,
.hovers-contrast,
.hovers-contrast-reverse,
.hovers-grayscale,
.hovers-grayscale-reverse,
.hovers-invert,
.hovers-invert-reverse,
.hovers-saturate,
.hovers-saturate-reverse,
.hovers-sepia,
.hovers-sepia-reverse,
.hovers-hue-rotate,
.hovers-hue-rotate-reverse {
transition-duration: 0.75s;
}
.hovers-blur:hover,
.hovers-blur.active,
.hovers-brightness:hover,
.hovers-brightness.active,
.hovers-contrast:hover,
.hovers-contrast.active,
.hovers-grayscale:hover,
.hovers-grayscale.active,
.hovers-invert:hover,
.hovers-invert.active,
.hovers-saturate:hover,
.hovers-saturate.active,
.hovers-sepia:hover,
.hovers-sepia.active,
.hovers-hue-rotate:hover,
.hovers-hue-rotate.active {
filter: initial;
}
.hovers-blur {
filter: blur(5px);
}
.hovers-blur-reverse:hover,
.hovers-blur-reverse.active {
filter: blur(5px);
}
.hovers-brightness {
filter: brightness(50%);
}
.hovers-brightness-reverse:hover,
.hovers-brightness-reverse.active {
filter: brightness(50%);
}
.hovers-contrast {
filter: contrast(50%);
}
.hovers-contrast-reverse:hover,
.hovers-contrast-reverse.active {
filter: contrast(50%);
}
.hovers-grayscale {
filter: grayscale(100%);
}
.hovers-grayscale-reverse:hover,
.hovers-grayscale-reverse.active {
filter: grayscale(100%);
}
.hovers-invert {
filter: invert(100%);
}
.hovers-invert-reverse:hover,
.hovers-invert-reverse.active {
filter: invert(100%);
}
.hovers-saturate {
filter: saturate(200%);
}
.hovers-saturate-reverse:hover,
.hovers-saturate-reverse.active {
filter: saturate(200%);
}
.hovers-sepia {
filter: sepia(100%);
}
.hovers-sepia-reverse:hover,
.hovers-sepia-reverse.acitve {
filter: sepia(100%);
}
.hovers-hue-rotate {
filter: hue-rotate(180deg);
}
.hovers-hue-rotate-reverse:hover,
.hovers-hue-rotate-reverse.active {
filter: hue-rotate(180deg);
}
/* 背景滑动 */
.hovers-sweep-to-right,
.hovers-sweep-to-left,
.hovers-sweep-to-bottom,
.hovers-sweep-to-top,
.hovers-radial-out,
.hovers-radial-in {
position: relative;
transition-duration: 0.3s;
transition-timing-function: ease-out;
overflow: hidden;
}
.hovers-sweep-to-right:before,
.hovers-sweep-to-left:before,
.hovers-sweep-to-bottom:before,
.hovers-sweep-to-top:before,
.hovers-radial-out:before,
.hovers-radial-in:before {
content: '';
position: absolute;
z-index: 10;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: inherit;
transform: scaleX(0);
transition: inherit;
}
.hovers-sweep-to-bottom:before,
.hovers-sweep-to-top:before {
transform: scaleY(0);
}
.hovers-radial-out:before,
.hovers-radial-in:before {
border-radius: 50%;
transform: scale(0);
}
.hovers-radial-in:before {
transform: scale(2);
}
.hovers-sweep-to-right:before {
transform-origin: 0 50%;
}
.hovers-sweep-to-left:before {
transform-origin: 100% 50%;
}
.hovers-sweep-to-bottom:before {
transform-origin: 50% 0;
}
.hovers-sweep-to-top:before {
transform-origin: 50% 100%;
}
.hovers-radial-out:hover:before,
.hovers-radial-out.active:before {
transform: scale(2);
}
.hovers-radial-in:hover:before,
.hovers-radial-in.active:before {
transform: scale(0);
}
.hovers-sweep-to-right .hovers-content.center,
.hovers-sweep-to-left .hovers-content.center,
.hovers-sweep-to-bottom .hovers-content.center,
.hovers-sweep-to-top .hovers-content.center,
.hovers-radial-out .hovers-content.center,
.hovers-radial-in .hovers-content.center {
display: flex;
align-items: center;
justify-content: center;
word-break: break-all;
}
.hovers-sweep-to-right:hover:before,
.hovers-sweep-to-left:hover:before,
.hovers-sweep-to-bottom:hover:before,
.hovers-sweep-to-top:hover:before,
.hovers-sweep-to-right.active:before,
.hovers-sweep-to-left:hover:before,
.hovers-sweep-to-bottom:hover:before,
.hovers-sweep-to-top:hover:before {
transform: scaleX(1);
}
.hovers-sweep-to-right .hovers-content,
.hovers-sweep-to-left .hovers-content,
.hovers-sweep-to-bottom .hovers-content,
.hovers-sweep-to-top .hovers-content,
.hovers-radial-out .hovers-content,
.hovers-radial-in .hovers-content {
width: 100%;
height: 100%;
position: absolute;
transition-property: all;
transition-duration: inherit;
top: 0;
left: 0;
z-index: 11;
}
.hovers-sweep-to-right .hovers-content {
left: initial;
right: 100%;
}
.hovers-sweep-to-right:hover .hovers-content,
.hovers-sweep-to-right.active .hovers-content {
right: 0;
}
.hovers-sweep-to-left .hovers-content {
left: 100%;
}
.hovers-sweep-to-left:hover .hovers-content,
.hovers-sweep-to-left.active .hovers-content {
left: 0;
}
.hovers-sweep-to-bottom .hovers-content {
top: initial;
bottom: 100%;
}
.hovers-sweep-to-bottom:hover .hovers-content,
.hovers-sweep-to-bottom.active .hovers-content {
bottom: 0;
}
.hovers-sweep-to-top .hovers-content {
top: 100%;
}
.hovers-sweep-to-top:hover .hovers-content,
.hovers-sweep-to-top.active .hovers-content {
top: 0;
}
.hovers-radial-out .hovers-content,
.hovers-radial-in:hover .hovers-content,
.hovers-radial-in.active .hovers-content {
opacity: 0;
}
.hovers-radial-in .hovers-content,
.hovers-radial-out:hover .hovers-content,
.hovers-radial-out.active .hovers-content {
opacity: 1;
}
/* 默认em */
.hovers-border,
.hovers-trim,
.hovers-ripple-out,
.hovers-ripple-in,
.hovers-outline-out,
.hovers-outline-in,
.hovers-reveal {
font-size: 160px;
line-height: 16px;
}
/* 内边框滑出 */
.hovers-border,
.hovers-trim {
position: relative;
top: 0;
left: 0;
transition: all 0.3s;
}
.hovers-border:before {
content: '';
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
box-sizing: border-box;
transition: inherit;
border-width: calc(0.0625em * 0.6);
border-color: inherit;
border-style: solid;
border-radius: inherit;
opacity: 0;
}
.hovers-border:hover:before,
.hovers-border.active:before {
opacity: 1;
}
/* 带边距内边框 */
.hovers-trim:before {
content: '';
position: absolute;
top: calc(0.0625em * 0.4);
left: calc(0.0625em * 0.4);
bottom: calc(0.0625em * 0.4);
right: calc(0.0625em * 0.4);
transition: inherit;
border-width: calc(0.0625em * 0.6);
border-color: inherit;
border-style: solid;
opacity: 0;
border-radius: inherit;
}
.hovers-trim:hover:before,
.hovers-trim.active:before {
opacity: 1;
}
/* 边框飞出与飞入 */
.hovers-ripple-out,
.hovers-ripple-in,
.hovers-outline-out,
.hovers-outline-in,
.hovers-reveal {
animation-duration: 0.7s;
animation-timing-function: ease-out;
transition: all 0.3s;
}
.hovers-ripple-out:before,
.hovers-ripple-in:before,
.hovers-outline-out:before,
.hovers-outline-in:before,
.hovers-reveal:before {
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
animation: inherit;
transition: inherit;
border-width: calc(0.0625em * 0.6);
border-color: inherit;
border-style: solid;
border-radius: inherit;
}
.hovers-ripple-out:before {
opacity: 0;
}
.hovers-ripple-in:before {
top: calc(-0.0625em * 1.2);
right: calc(-0.0625em * 1.2);
bottom: calc(-0.0625em * 1.2);
left: calc(-0.0625em * 1.2);
opacity: 0;
}
.hovers-outline-out:before {
opacity: 0;
}
.hovers-outline-out:before {
top: calc(-0.0625em * 1.6);
right: calc(-0.0625em * 1.6);
bottom: calc(-0.0625em * 1.6);
left: calc(-0.0625em * 1.6);
opacity: 0;
}
.hovers-reveal:before {
border-width: 0;
opacity: 0;
}
@keyframes ripple-out {
50% {
opacity: 1;
}
100% {
top: calc(-0.0625em * 1.2);
right: calc(-0.0625em * 1.2);
bottom: calc(-0.0625em * 1.2);
left: calc(-0.0625em * 1.2);
opacity: 0;
}
}
.hovers-ripple-out:hover:before,
.hovers-ripple-out.active:before {
animation-name: ripple-out;
}
@keyframes ripple-in {
50% {
opacity: 1;
}
100% {
top: 0;
right: 0;
bottom: 0;
left: 0;
opacity: 0;
}
}
.hovers-ripple-in:hover:before,
.hovers-ripple-in.active:before {
animation-name: ripple-in;
}
.hovers-outline-out:hover:before,
.hovers-outline-in:hover:before,
.hovers-outline-out.active:before,
.hovers-outline-in:hover:before {
top: calc(-0.0625em * 0.8);
right: calc(-0.0625em * 0.8);
bottom: calc(-0.0625em * 0.8);
left: calc(-0.0625em * 0.8);
opacity: 1;
}
.hovers-reveal:hover:before,
.hovers-reveal.active:before {
transform: translateY(0);
border-width: calc(0.0625em * 0.4);
opacity: 1;
}
/* 圆角化 */
.hovers-round-corners {
overflow: hidden;
}
.hovers-round-corners:hover,
.hovers-round-corners.active {
border-radius: 0.0625em;
}
/* 重叠:翻转切换 */
.hover-turn {
position: relative;
transform: translateZ(1px);
}
.hover-turn-before,
.hover-turn-after {
position: absolute;
top: 0;
left: 0;
}
@keyframes hover-turn {
from {
transform: rotateY(-90deg);
}
50% {
transform: scale(1.2);
}
to {
transform: rotateY(0);
}
}
.hover-turn:not(:hover) .hover-turn-before,
.hover-turn:hover .hover-turn-after {
animation: hover-turn 0.5s;
}
.hover-turn:hover .hover-turn-before,
.hover-turn:not(:hover) .hover-turn-after {
opacity: 0;
}
/* [[Category:在模板名字空间下的CSS页面]] */
/* 信息框样式 - Windows XP风格 */
.infobox,
.notaninfobox {
position: relative;
clear: right;
float: right;
margin: 0 0 1em 1em;
width: 350px;
font-size: 90%;
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
padding: 0;
overflow: auto;
z-index: 1;
box-shadow: var(--window-shadow);
border-radius: 0;
}
@media all and (max-width: 511px) {
.notaninfobox {
float: none;
margin-left: 0;
width: auto;
}
}
.infobox tr:not(:first-child) td {
border-bottom: 1px solid #ababab;
}
@media all and (max-width: 337px) {
.notaninfobox {
margin-left: -16px;
margin-right: -16px;
border-left: none;
border-right: none;
}
}
.notaninfobox > .infobox-title,
.infobox th {
position: relative;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
font-weight: bold;
text-align: center;
font-size: 120%;
padding: 5px;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
}
.notaninfobox > .infobox-title::after,
.infobox th::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.infobox-imagearea {
text-align: center;
padding: 8px;
background-color: white;
}
.infobox-imagearea > div:not(:first-child) {
padding-top: 1em;
}
/* Horizontally centre animated images */
.infobox-imagearea .animated {
display: inline-flex;
align-items: center;
}
.notaninfobox .infobox-rows {
display: grid;
grid-template-columns: max-content 1fr;
gap: 1px;
background-color: white;
}
.infobox .plainlinks a {
color: rgb(var(--link-color)) !important;
text-decoration: underline;
}
.infobox .plainlinks a:visited {
color: rgb(var(--visited-link-color)) !important;
}
.notaninfobox .infobox-rows .infobox-row {
display: contents;
}
.notaninfobox .infobox-row .infobox-row-label,
.notaninfobox .infobox-row .infobox-row-field {
padding: 4px 8px;
border: 1px solid #ababab;
}
.notaninfobox .infobox-row .infobox-row-label {
font-weight: bold;
display: flex;
align-items: center;
background-color: #f0f0f0;
}
.notaninfobox .infobox-rows .infobox-row:nth-child(2n) .infobox-row-label,
.notaninfobox .infobox-rows .infobox-row:nth-child(2n) .infobox-row-field {
background-color: #f9f9f9;
}
/* Community Updates - Windows XP风格 */
.community-updates {
background: rgb(var(--xp-window-bg));
padding: 15px;
border: 2px solid rgb(var(--xp-window-border));
margin-top: 20px;
box-shadow: var(--window-shadow);
position: relative;
border-radius: 0;
}
.community-updates::before {
content: "Community Updates";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
}
.community-updates ul {
margin-top: 30px;
}
.community-updates ul li {
list-style: none;
padding: 10px;
background: white;
margin: 5px 0;
border: 1px solid #ababab;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.1);
}
.community-updates ul li a {
color: rgb(var(--link-color));
text-decoration: none;
font-weight: bold;
}
/* Infoboxes with tabber */
.tabber-container-infobox .tabber .tabbertab,
.tabber-container-infobox ul.tabbernav li a,
.tabber-container-infobox ul.tabbernav li.tabberactive a {
background: none;
border: none;
}
.tabber-container-infobox .tabber .tabbertab {
padding: 0;
}
.tabber-container-infobox ul.tabbernav {
font: inherit;
font-size: 100%;
border-bottom: 1px solid #ababab;
}
.tabber-container-infobox ul.tabbernav li a:hover {
color: rgb(var(--hover-link-color));
}
.tabber-container-infobox ul.tabbernav > li {
margin-bottom: 5px;
padding: 0;
}
.announcement-content span {
display: inline-block;
white-space: nowrap;
animation: marquee 15s linear infinite;
}
@keyframes marquee {
0% { transform: translate(100%, 0); }
100% { transform: translate(-100%, 0); }
}
/* 主页头部样式 - Windows XP风格 */
.mw-mainpage-header {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
color: rgb(var(--xp-text));
font-size: 1.5em;
padding: 30px 20px 20px;
text-align: center;
position: relative;
border-radius: 0;
}
.mw-mainpage-header::before {
content: "Welcome";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
}
.mw-mainpage-header h1 {
font-size: 2.5em;
margin-bottom: 10px;
background: none;
color: rgb(var(--xp-text));
text-shadow: none;
}
.mw-mainpage-header p {
font-size: 1.2em;
margin: 5px 0;
}
.tabber-container-infobox ul.tabbernav > li > a {
color: rgb(var(--link-color));
padding: 5px 10px;
display: block;
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
border-bottom: none;
border-radius: 3px 3px 0 0;
}
/* To prevent the tabs from jumping around when they become active or inactive */
.tabber-container-infobox ul.tabbernav > li > a::before {
display: block;
content: attr(alt);
font-weight: bold;
height: 0;
color: transparent;
overflow: hidden;
visibility: hidden;
}
.tabber-container-infobox ul.tabbernav > li.tabberactive {
border: none;
}
/* ModuleBox - Windows XP风格 */
.modulebox {
border: 2px solid rgb(var(--xp-window-border));
padding: 30px 10px 10px;
margin: 10px 0;
background-color: rgb(var(--xp-window-bg));
position: relative;
box-shadow: var(--window-shadow);
border-radius: 0;
}
.modulebox::before {
content: "Module";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
}
.tabber-container-infobox ul.tabbernav > li.tabberactive > a {
font-weight: bold;
color: rgb(var(--hover-link-color));
background: linear-gradient(to bottom, #ffffff, #f6f6f6);
border-bottom: 1px solid #ffffff;
position: relative;
z-index: 1;
}
.infobox-rows p {
margin: 0;
}
.infobox-rows dl + dl {
margin-top: -0.4em;
}
.infobox-rows dl:last-child {
margin-bottom: 0.2em;
}
.infobox-footer {
text-align: center;
padding: 5px;
background-color: #f0f0f0;
border-top: 1px solid #ababab;
}
/* 导航框(查论编)- Windows XP风格 */
table.navbox {
border: 2px solid rgb(var(--xp-window-border));
clear: both;
margin: 1em auto;
padding: 0;
text-align: center;
width: 100%;
background-color: rgb(var(--xp-window-bg));
box-shadow: var(--window-shadow);
border-collapse: separate;
border-spacing: 0;
border-radius: 0;
}
table.navbox + table.navbox {
margin-top: 5px;
}
.navbox-title,
.navbox-abovebelow,
table.navbox th {
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
text-align: center;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
}
.navbox-title::after,
table.navbox th::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.navbox-group {
background-color: #f0f0f0;
border: 1px solid #ababab;
color: black;
font-weight: bold;
padding: 5px;
text-align: right;
white-space: nowrap;
}
.navbox-list {
background-color: white;
border: 1px solid #ababab;
padding: 5px;
text-align: left;
}
.navbox,
.navbox-subgroup {
background-color: rgb(var(--xp-window-bg));
}
.navbox-subgroup .navbox-title {
background-color: #c0d8f0;
color: black;
text-shadow: none;
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background-color: #e6f0f9;
}
.navbox-even {
background-color: #f9f9f9;
}
.navbox-odd {
background-color: white;
}
.collapseButton {
float: right;
font-weight: 400;
text-align: right;
width: auto;
}
.navbox .collapseButton {
width: 6em;
}
.navbar {
position: relative;
min-height: 23px !important;
margin-bottom: 0px !important;
border: 1px solid transparent;
}
.navbox-title .Wikiplus-Edit-EveryWhereBtn {
display: none;
}
@media only screen and (max-width:759px) {
.infotable {
width: 90%;
float: none;
margin: 0 auto;
}
.navbox-title>div {
display: none;
}
.navbox-group,
.navbox-group >div {
padding-left: 0 !important;
padding-right: 0 !important;
text-align: center;
}
}
/* 主页Windows XP风格布局 */
.main-page-banner {
position: relative;
display: grid;
grid-template-areas:
"welcome welcome welcome"
"discord faq join";
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 3%;
margin-bottom: 2rem;
width: 100%;
box-sizing: border-box;
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
background-color: rgb(var(--xp-window-bg));
z-index: 1;
border-radius: 0;
}
/* 欢迎文本区域 - Windows XP样式 */
.main-page-banner .welcome-text {
grid-area: welcome;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 30px 20px 20px;
margin: 0;
width: 100%;
position: relative;
overflow: hidden;
border-bottom: 1px solid rgb(var(--xp-window-border));
border-radius: 0;
z-index: 2;
text-shadow: var(--text-shadow);
}
/* 添加标题栏 */
.main-page-banner .welcome-text::before {
content: "Welcome";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 25px;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
font-size: 14px;
text-shadow: var(--text-shadow);
text-align: left;
line-height: 25px;
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
z-index: 3;
}
/* 添加XP窗口控制按钮 */
.main-page-banner .welcome-text::after {
content: "×";
position: absolute;
top: 7px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 4;
}
/* 添加最小化、最大化按钮 */
.main-page-banner .welcome-text .min-button,
.main-page-banner .welcome-text .max-button {
position: absolute;
top: 7px;
width: 16px;
height: 16px;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: black;
background-color: rgb(var(--light-gray-monochrome));
cursor: pointer;
z-index: 4;
}
.main-page-banner .welcome-text .min-button {
right: 45px;
content: "_";
line-height: 13px;
}
.main-page-banner .welcome-text .max-button {
right: 25px;
content: "□";
}
.main-page-banner .welcome-text p {
position: relative;
z-index: 2;
margin: 0;
font-size: 1.1em;
}
/* 导航按钮 - Windows XP风格 */
.main-page-banner .navigation-links {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-column-gap: 3%;
grid-area: discord / discord / join / join;
width: 100%;
padding: 10px;
background-color: rgb(var(--xp-window-bg));
}
.main-page-banner .nav-button {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
border-radius: 3px;
margin: 0 0 10px 0;
transition: all 0.3s ease;
height: min-content;
box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
position: relative;
overflow: hidden;
}
.main-page-banner .nav-button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
transform: translateY(-3px);
box-shadow: 2px 3px 4px rgba(0, 0, 0, 0.3);
}
.main-page-banner .nav-button:active {
background: linear-gradient(to bottom, #e0e0e0, #f0f0f0);
box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.2);
transform: translateY(0);
}
.main-page-banner .nav-button a {
display: block;
padding: 8px 0;
width: 100%;
text-align: center;
color: black;
font-size: 1.1rem;
font-weight: bold;
text-decoration: none !important;
position: relative;
z-index: 1;
}
/* 响应式布局 */
@media (max-width: 767px) {
.main-page-banner {
grid-template-areas:
"welcome"
"navigation";
grid-template-columns: 1fr;
}
.main-page-banner .welcome-text {
width: 100%;
margin-bottom: 0;
box-sizing: border-box;
}
.main-page-banner .navigation-links {
grid-area: navigation;
display: flex;
flex-wrap: wrap;
width: 100%;
}
.main-page-banner .nav-button {
flex: 1;
min-width: 30%;
margin: 0 5px 10px;
}
}
/* 公告容器 - Windows XP风格 */
.announcement-container {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin-bottom: 2rem;
display: flex;
flex-wrap: wrap;
align-content: space-between;
position: relative;
border-radius: 0;
}
.announcement-container .section-title {
width: 100%;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-family: var(--title-font);
font-size: 1.3rem;
text-align: left;
border-left: none;
border-bottom: 1px solid rgb(var(--xp-window-border));
text-shadow: var(--text-shadow);
position: relative;
}
.announcement-container .section-title::after {
content: "×";
position: absolute;
top: 7px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.announcement-container .announcement-content {
background-color: white;
color: black;
padding: 10px;
width: 100%;
}
.announcement-container .more-content {
width: 100%;
border-top: 1px solid #ababab;
padding: 5px;
background-color: #f0f0f0;
text-align: right;
}
/* 最近页面容器 - Windows XP风格 */
.recent-pages-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
margin-bottom: 1rem;
}
.recent-pages-container .page-section {
flex-basis: 48%;
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin-bottom: 1rem;
display: grid;
grid-template-areas: "title" "page" "more";
grid-template-rows: auto 1fr auto;
position: relative;
border-radius: 0;
}
.recent-pages-container .section-title {
grid-area: title;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 30px 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
text-align: left;
height: 25px;
line-height: 25px;
border-left: none;
}
.recent-pages-container .section-title::after {
content: "×";
position: absolute;
top: 5px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.recent-pages-container .page-list {
grid-area: page;
background-color: white;
padding: 10px;
max-height: 200px;
overflow-y: auto;
border-bottom: 1px solid #ababab;
}
.recent-pages-container .page-list a {
display: block;
padding: 3px 0;
border-bottom: 1px solid #e0e0e0;
color: rgb(var(--link-color));
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.recent-pages-container .page-list a:last-child {
border-bottom: none;
}
.recent-pages-container .see-more {
grid-area: more;
background-color: #f0f0f0;
padding: 5px 10px;
text-align: right;
}
.recent-pages-container .see-more a {
color: rgb(var(--link-color));
}
/* 特色内容容器 - Windows XP风格 */
.featured-content-container .feature-content .featured-description {
font-style: italic;
color: #444;
}
.featured-content-container .see-more {
grid-area: more;
background-color: #f0f0f0;
padding: 5px 10px;
text-align: right;
}
.featured-content-container .see-more a {
color: rgb(var(--link-color));
}
/* 工具和资源容器 - Windows XP风格 */
.tools-and-resources {
margin-bottom: 2rem;
}
.tools-container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 1rem;
}
.tools-container .tool-item {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
padding: 30px 10px 10px;
display: grid;
grid-template-areas:
"icon content"
"title content";
grid-template-columns: max-content 1fr;
grid-template-rows: auto auto;
grid-gap: 0.5rem 1rem;
position: relative;
border-radius: 0;
}
.tools-container .tool-item::before {
content: "Tool";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.tools-container .tool-item::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.tools-container .tool-item .tool-icon {
grid-area: icon;
justify-self: center;
align-self: center;
background-color: white;
border: 1px solid #ababab;
padding: 5px;
}
.tools-container .tool-item .tool-title {
grid-area: title;
text-align: center;
}
.tools-container .tool-item .tool-title a {
color: rgb(var(--link-color));
font-weight: bold;
}
.tools-container .tool-item .tool-description {
grid-area: content;
background-color: white;
border: 1px solid #ababab;
padding: 8px;
}
/* 新闻容器 - Windows XP风格 */
.news-container {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin-bottom: 2rem;
position: relative;
border-radius: 0;
}
.news-container .section-title {
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 30px 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
text-align: left;
width: 100%;
border-left: none;
}
.news-container .section-title::after {
content: "×";
position: absolute;
top: 5px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.news-container .news-content {
background-color: white;
padding: 10px;
width: 100%;
border-bottom: 1px solid #ababab;
}
.news-container .news-content .news-item {
border-bottom: 1px solid #e0e0e0;
padding: 5px 0;
}
.news-container .news-content .news-item:last-child {
border-bottom: none;
}
.news-container .news-content .news-title {
font-weight: bold;
margin-bottom: 3px;
color: rgb(var(--xp-blue-dark));
}
.news-container .news-content .news-date {
font-size: 0.8rem;
color: #666;
margin-bottom: 3px;
}
.news-container .news-archive {
background-color: #f0f0f0;
padding: 5px 10px;
text-align: right;
width: 100%;
}
.news-container .news-archive a {
color: rgb(var(--link-color));
}
/* 轮播图容器 - Windows XP风格 */
.mw-carousel {
position: relative;
width: 100%;
max-width: 960px;
margin: 20px auto;
overflow: hidden;
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
aspect-ratio: 16 / 9;
background-color: rgb(var(--xp-window-bg));
border-radius: 0;
}
.mw-carousel::before {
content: "Slideshow";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
z-index: 10;
}
.mw-carousel::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 10;
}
.mw-carousel .carousel-image {
width: 100%;
height: 100%;
position: relative;
margin-top: 25px;
}
.mw-carousel .carousel-image img {
width: 100%;
height: calc(100% - 25px);
object-fit: cover;
display: block;
border: 1px solid #ababab;
}
.mw-carousel .carousel-caption {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0));
color: white;
padding: 20px 15px 12px;
text-align: left;
transition: all 0.4s ease;
z-index: 2;
}
.mw-carousel:hover .carousel-caption {
top: 25px;
left: 0;
bottom: 0;
width: 100%;
height: calc(100% - 25px);
background: rgba(0, 0, 0, 0.6);
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
padding: 20px;
backdrop-filter: blur(3px);
}
.mw-carousel .carousel-caption h3 {
margin: 0 0 5px;
font-size: 1.6em;
font-weight: 600;
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
transition: transform 0.4s ease;
background: none;
padding: 0;
border: none;
}
.mw-carousel .carousel-caption p {
margin: 0;
font-size: 1.1em;
line-height: 1.4;
max-width: 80%;
transition: all 0.4s ease 0.1s;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.mw-carousel .carousel-navigation {
position: absolute;
top: 50%;
left: 0;
width: 100%;
display: flex;
justify-content: space-between;
transform: translateY(-50%);
z-index: 3;
padding: 0 15px;
opacity: 0;
transition: opacity 0.3s ease;
}
.mw-carousel:hover .carousel-navigation {
opacity: 1;
}
.mw-carousel .carousel-prev,
.mw-carousel .carousel-next {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
width: 32px;
height: 32px;
font-size: 18px;
cursor: pointer;
display: flex;
justify-content: center;
align-items: center;
transition: all 0.3s;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
.mw-carousel .carousel-prev:hover,
.mw-carousel .carousel-next:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
}
.mw-carousel .carousel-indicators {
position: absolute;
bottom: 15px;
right: 20px;
left: auto;
display: flex;
gap: 5px;
z-index: 4;
padding: 5px 10px;
background-color: rgba(0, 0, 0, 0.3);
}
.mw-carousel .carousel-indicators .indicator {
width: 10px;
height: 10px;
background-color: rgba(255, 255, 255, 0.5);
border: 1px solid rgba(0, 0, 0, 0.2);
cursor: pointer;
transition: all 0.3s;
}
.mw-carousel .carousel-indicators .indicator.active {
background-color: #ffffff;
transform: scale(1.2);
box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
}
/* 图片全局样式 */
img {
max-width: 100%;
height: auto;
display: block;
border: 1px solid #ababab;
}
/* 添加图片过渡效果 */
.mw-carousel .carousel-image img {
transition: transform 0.5s ease;
}
.mw-carousel:hover .carousel-image img {
transform: scale(1.03);
}
/* 目录框样式 - Windows XP风格 */
#toc, .toc {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
padding: 30px 10px 10px;
margin: 1em 0;
position: relative;
border-radius: 0;
}
#toc::before, .toc::before {
content: "Contents";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
#toc::after, .toc::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.toc .toctitle, #toc .toctitle {
display: none;
}
.toc ul, #toc ul {
margin: 0;
padding: 0 0 0 1.5em;
}
.toc li, #toc li {
margin: 5px 0;
}
.toc a, #toc a {
color: rgb(var(--link-color));
text-decoration: none;
}
.toc a:hover, #toc a:hover {
color: rgb(var(--hover-link-color));
text-decoration: underline;
}
.tocnumber {
color: #666;
margin-right: 5px;
}
/* 变色龙皮肤特定修复 */
.chameleon-toc {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
padding: 30px 10px 10px;
position: relative;
border-radius: 0;
}
.chameleon-toc::before {
content: "Contents";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.chameleon-toc::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.chameleon-toc .toctitle {
display: none;
}
/* Echo扩展通知图标修复 */
#pt-notifications-alert,
#pt-notifications-notice,
.mw-echo-notifications-badge,
.mw-echo-notification-badge-nojs {
background-color: transparent !important;
border: none !important;
}
#pt-notifications-alert .mw-echo-notifications-badge:before,
#pt-notifications-notice .mw-echo-notifications-badge:before,
.mw-echo-notifications-badge:before {
color: rgb(var(--link-color)) !important;
filter: none !important;
opacity: 1 !important;
}
.mw-echo-notifications-badge:after,
.mw-echo-notification-badge-nojs:after {
background-color: #ff6347 !important;
color: white !important;
border: 1px solid rgb(var(--xp-window-border)) !important;
opacity: 1 !important;
}
/* 通知面板样式 */
.mw-echo-ui-overlay,
.mw-echo-ui-notificationsWidget {
background-color: rgb(var(--xp-window-bg)) !important;
border: 2px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
}
.mw-echo-ui-notificationItemWidget {
background-color: white !important;
border-bottom: 1px solid #ababab !important;
color: black !important;
}
.mw-echo-ui-notificationItemWidget:hover {
background-color: #f0f0f0 !important;
}
.mw-echo-ui-notificationItemWidget-content-message-header {
color: rgb(var(--xp-blue-dark)) !important;
}
.mw-echo-ui-notificationItemWidget-content-message-body {
color: black !important;
}
/* 用户头像样式 - Windows XP风格 */
#p-personal .vector-menu-content-list > li:first-child > a::before,
.navbar-personaltools > li:first-child > a::before {
content: "";
position: absolute;
left: 5px;
top: 50%;
transform: translateY(-50%);
width: 24px;
height: 24px;
background-color: #f0f0f0;
border: 1px solid #7f9db9;
z-index: 100;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='5' fill='%237f9db9'/%3E%3Cpath d='M21,19v1c0,1.1-0.9,2-2,2H5c-1.1,0-2-0.9-2-2v-1c0-3.9,3.1-7,7-7h4C17.9,12,21,15.1,21,19z' fill='%237f9db9'/%3E%3C/svg%3E");
background-size: cover;
}
/* Windows XP启动栏和任务栏 */
body::after {
content: "开始";
position: fixed;
left: 0;
bottom: 30px;
width: 100px;
height: 30px;
background: linear-gradient(to bottom, #4cae4c, #398439);
color: white;
text-align: center;
line-height: 30px;
font-weight: bold;
border-radius: 0 5px 5px 0;
z-index: 9999;
cursor: pointer;
border: 1px solid #366;
border-left: none;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
padding-left: 30px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M0 0h11v11H0V0zm13 0h11v11H13V0zM0 13h11v11H0V13zm13 0h11v11H13V13z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: 5px center;
background-size: 20px 20px;
}
body::before {
content: "";
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 30px;
background: linear-gradient(to bottom, #4581c8, #2f5b9d);
border-top: 1px solid #223f6f;
z-index: 9998;
}
/* 响应式调整 */
@media (max-width: 767px) {
.tools-container {
grid-template-columns: 1fr;
}
.recent-pages-container .page-section,
.featured-content-container .feature-item {
flex-basis: 100%;
margin-bottom: 15px;
}
body::after {
width: 80px;
font-size: 12px;
}
}
/* Windows XP蓝屏风格 */
.bluescreen {
background-color: #0000aa;
color: #ffffff;
font-family: "Courier New", monospace;
padding: 20px;
margin: 10px 0;
border: 2px solid #000055;
box-shadow: var(--window-shadow);
position: relative;
}
.bluescreen h2 {
color: #ffffff;
background: none;
border: none;
margin-top: 10px;
margin-bottom: 20px;
font-size: 1.5em;
text-shadow: none;
}
.bluescreen p {
margin: 10px 0;
line-height: 1.5;
}
.bluescreen code {
background-color: #0000aa;
border: none;
color: #ffffff;
display: block;
margin: 10px 0;
font-family: "Courier New", monospace;
}
/* 标题栏文本 */
.titlebox {
color: white;
position: relative;
top: -16px;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
padding: 5px 20px;
line-height: 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border: 1px solid rgb(var(--xp-window-border));
display: inline-block;
}
/* Windows XP Logo风格块 */
.logoblock {
padding: 30px 10px 10px;
color: black;
box-shadow: var(--window-shadow);
margin: 10px 0;
display: block;
position: relative;
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
border-radius: 0;
}
.logoblock::before {
content: "Windows";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.logoblock::after {
content: "";
float: center;
border: solid 2px #0000;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230078d7' d='M0 0h11v11H0V0zm13 0h11v11H13V0zM0 13h11v11H0V13zm13 0h11v11H13V13z'/%3E%3C/svg%3E") center/70% no-repeat;
opacity: 0.7;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: 1;
}
/* Windows XP错误对话框 */
.error-dialog {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
padding: 30px 10px 10px;
margin: 10px 0;
position: relative;
box-shadow: var(--window-shadow);
border-radius: 0;
}
.error-dialog::before {
content: "Error";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.error-dialog::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.error-dialog .icon {
float: left;
margin-right: 10px;
width: 32px;
height: 32px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23ff0000'/%3E%3Cpath d='M12 6v8M12 16v2' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}
.error-dialog .message {
margin-left: 50px;
font-weight: bold;
}
.error-dialog .buttons {
text-align: right;
margin-top: 15px;
}
.error-dialog .buttons button {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
padding: 3px 10px;
margin-left: 5px;
cursor: pointer;
}
.error-dialog .buttons button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
}
/* JS添加功能 */
.JS-added-button {
display: none; /* 由JS控制显示 */
position: fixed;
right: 10px;
bottom: 40px;
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
padding: 5px 10px;
cursor: pointer;
z-index: 9999;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
.JS-added-button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
}
/* 创建一个窗口最小化图标,显示在任务栏中 */
.minimized-window {
position: fixed;
left: 110px;
bottom: 0;
height: 30px;
padding: 0 10px;
background: linear-gradient(to bottom, #67a9e0, #3a84c5);
color: white;
line-height: 30px;
font-size: 12px;
z-index: 9999;
cursor: pointer;
border-top: 1px solid #81bdeb;
border-left: 1px solid #81bdeb;
border-right: 1px solid #25619a;
max-width: 150px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.minimized-window:hover {
background: linear-gradient(to bottom, #81bdeb, #67a9e0);
}
/* 添加系统时钟到任务栏 */
.taskbar-clock {
position: fixed;
right: 10px;
bottom: 0;
height: 30px;
padding: 0 10px;
background: transparent;
color: white;
line-height: 30px;
font-size: 12px;
z-index: 9999;
}
/* CommonJS功能 */
/* 这些样式将由JavaScript功能使用 */d-content-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 100%;
}
.featured-content-container .feature-item {
flex-basis: 48%;
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin-bottom: 1rem;
display: grid;
grid-template-areas: "title" "content" "more";
grid-template-rows: auto 1fr auto;
position: relative;
border-radius: 0;
}
.featured-content-container .section-title {
grid-area: title;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 30px 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
text-align: left;
height: 25px;
line-height: 25px;
border-left: none;
}
.featured-content-container .section-title::after {
content: "×";
position: absolute;
top: 5px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.featured-content-container .feature-content {
grid-area: content;
background-color: white;
padding: 10px;
border-bottom: 1px solid #ababab;
}
.featured-content-container .feature-content .featured-title {
font-size: 1.2rem;
font-weight: bold;
margin-bottom: 5px;
color: rgb(var(--xp-blue-dark));
}
.featured-content-container .feature-content .featured-author {
font-size: 0.9rem;
color: #666;
margin-bottom: 5px;
}
.featured-content-container .feature-content .featured-description {
font-style: italic;
color: #444;
}
.featured-content-container .see-more {
grid-area: more;
background-color: #f0f0f0;
padding: 5px 10px;
text-align: right;
}
.featured-content-container .see-more a {
color: rgb(var(--link-color));
}
/* 工具和资源容器 - Windows XP风格 */
.tools-and-resources {
margin-bottom: 2rem;
}
.tools-container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 1rem;
}
.tools-container .tool-item {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
padding: 30px 10px 10px;
display: grid;
grid-template-areas:
"icon content"
"title content";
grid-template-columns: max-content 1fr;
grid-template-rows: auto auto;
grid-gap: 0.5rem 1rem;
position: relative;
border-radius: 0;
}
.tools-container .tool-item::before {
content: "Tool";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.tools-container .tool-item::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.tools-container .tool-item .tool-icon {
grid-area: icon;
justify-self: center;
align-self: center;
background-color: white;
border: 1px solid #ababab;
padding: 5px;
}
.tools-container .tool-item .tool-title {
grid-area: title;
text-align: center;
}
.tools-container .tool-item .tool-title a {
color: rgb(var(--link-color));
font-weight: bold;
}
.tools-container .tool-item .tool-description {
grid-area: content;
background-color: white;
border: 1px solid #ababab;
padding: 8px;
}
/* 新闻容器 - Windows XP风格 */
.news-container {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
box-shadow: var(--window-shadow);
margin-bottom: 2rem;
position: relative;
border-radius: 0;
}
.news-container .section-title {
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 30px 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
text-align: left;
width: 100%;
border-left: none;
}
.news-container .section-title::after {
content: "×";
position: absolute;
top: 5px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.news-container .news-content {
background-color: white;
padding: 10px;
width: 100%;
border-bottom: 1px solid #ababab;
}
.news-container .news-content .news-item {
border-bottom: 1px solid #e0e0e0;
padding: 5px 0;
}
.news-container .news-content .news-item:last-child {
border-bottom: none;
}
.news-container .news-content .news-title {
font-weight: bold;
margin-bottom: 3px;
color: rgb(var(--xp-blue-dark));
}
.news-container .news-content .news-date {
font-size: 0.8rem;
color: #666;
margin-bottom: 3px;
}
.news-container .news-archive {
background-color: #f0f0f0;
padding: 5px 10px;
text-align: right;
width: 100%;
}
.news-container .news-archive a {
color: rgb(var(--link-color));
}
/* 响应式调整 */
@media (max-width: 767px) {
.tools-container {
grid-template-columns: 1fr;
}
.recent-pages-container .page-section,
.featured-content-container .feature-item {
flex-basis: 100%;
margin-bottom: 15px;
}
body::after {
width: 80px;
font-size: 12px;
}
}
/* Windows XP蓝屏风格 */
.bluescreen {
background-color: #0000aa;
color: #ffffff;
font-family: "Courier New", monospace;
padding: 20px;
margin: 10px 0;
border: 2px solid #000055;
box-shadow: var(--window-shadow);
position: relative;
}
.bluescreen h2 {
color: #ffffff;
background: none;
border: none;
margin-top: 10px;
margin-bottom: 20px;
font-size: 1.5em;
text-shadow: none;
}
.bluescreen p {
margin: 10px 0;
line-height: 1.5;
}
.bluescreen code {
background-color: #0000aa;
border: none;
color: #ffffff;
display: block;
margin: 10px 0;
font-family: "Courier New", monospace;
}
/* 标题栏文本 */
.titlebox {
color: white;
position: relative;
top: -16px;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
padding: 5px 20px;
line-height: 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border: 1px solid rgb(var(--xp-window-border));
display: inline-block;
}
/* Windows XP Logo风格块 */
.logoblock {
padding: 30px 10px 10px;
color: black;
box-shadow: var(--window-shadow);
margin: 10px 0;
display: block;
position: relative;
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
border-radius: 0;
}
.logoblock::before {
content: "Windows";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.logoblock::after {
content: "";
float: center;
border: solid 2px #0000;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230078d7' d='M0 0h11v11H0V0zm13 0h11v11H13V0zM0 13h11v11H0V13zm13 0h11v11H13V13z'/%3E%3C/svg%3E") center/70% no-repeat;
opacity: 0.7;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: 1;
}
/* Windows XP错误对话框 */
.error-dialog {
background-color: rgb(var(--xp-window-bg));
border: 2px solid rgb(var(--xp-window-border));
padding: 30px 10px 10px;
margin: 10px 0;
position: relative;
box-shadow: var(--window-shadow);
border-radius: 0;
}
.error-dialog::before {
content: "Error";
position: absolute;
top: 0;
left: 0;
right: 0;
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
text-align: left;
height: 15px;
line-height: 15px;
font-size: 12px;
}
.error-dialog::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.error-dialog .icon {
float: left;
margin-right: 10px;
width: 32px;
height: 32px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10' fill='%23ff0000'/%3E%3Cpath d='M12 6v8M12 16v2' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-size: contain;
}
.error-dialog .message {
margin-left: 50px;
font-weight: bold;
}
.error-dialog .buttons {
text-align: right;
margin-top: 15px;
}
.error-dialog .buttons button {
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
padding: 3px 10px;
margin-left: 5px;
cursor: pointer;
}
.error-dialog .buttons button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
}
/* JS添加功能 */
.JS-added-button {
display: none; /* 由JS控制显示 */
position: fixed;
right: 10px;
bottom: 40px;
background: linear-gradient(to bottom, #f6f6f6, #e0e0e0);
border: 1px solid #ababab;
padding: 5px 10px;
cursor: pointer;
z-index: 9999;
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
}
.JS-added-button:hover {
background: linear-gradient(to bottom, #f9f9f9, #e9e9e9);
}
/* 创建一个窗口最小化图标,显示在任务栏中 */
.minimized-window {
position: fixed;
left: 110px;
bottom: 0;
height: 30px;
padding: 0 10px;
background: linear-gradient(to bottom, #67a9e0, #3a84c5);
color: white;
line-height: 30px;
font-size: 12px;
z-index: 9999;
cursor: pointer;
border-top: 1px solid #81bdeb;
border-left: 1px solid #81bdeb;
border-right: 1px solid #25619a;
max-width: 150px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.minimized-window:hover {
background: linear-gradient(to bottom, #81bdeb, #67a9e0);
}
/* 添加系统时钟到任务栏 */
.taskbar-clock {
position: fixed;
right: 10px;
bottom: 0;
height: 30px;
padding: 0 10px;
background: transparent;
color: white;
line-height: 30px;
font-size: 12px;
z-index: 9999;
}
/* 导航框(查论编)- Windows XP风格 */
table.navbox {
border: 2px solid rgb(var(--xp-window-border));
clear: both;
margin: 1em auto;
padding: 0;
text-align: center;
width: 100%;
background-color: rgb(var(--xp-window-bg));
box-shadow: var(--window-shadow);
border-collapse: separate;
border-spacing: 0;
border-radius: 0;
}
.navbox-title,
.navbox-abovebelow,
table.navbox th {
background: linear-gradient(to right, rgb(var(--xp-blue)), rgb(var(--xp-blue-light)));
color: white;
padding: 5px 10px;
text-align: center;
font-weight: bold;
text-shadow: var(--text-shadow);
border-bottom: 1px solid rgb(var(--xp-window-border));
position: relative;
}
.navbox-title::after,
table.navbox th::after {
content: "×";
position: absolute;
top: 2px;
right: 5px;
width: 16px;
height: 16px;
background-color: #ff6347;
border: 1px solid rgb(var(--xp-window-border));
text-align: center;
line-height: 16px;
font-size: 12px;
color: white;
cursor: pointer;
z-index: 1;
}
.navbox-group {
background-color: #f0f0f0;
border: 1px solid #ababab;
color: black;
font-weight: bold;
padding: 5px;
text-align: right;
white-space: nowrap;
}
.navbox-list {
background-color: white;
border: 1px solid #ababab;
padding: 5px;
text-align: left;
}
/* 修复用户头像显示 */
#p-personal .vector-menu-content-list > li:first-child > a,
.navbar-personaltools > li:first-child > a {
position: relative;
padding-left: 35px !important;
}
#p-personal .vector-menu-content-list > li:first-child > a::before,
.navbar-personaltools > li:first-child > a::before {
content: "";
position: absolute;
left: 5px !important;
top: 50%;
transform: translateY(-50%);
width: 28px !important;
height: 28px !important;
background-color: #f0f0f0;
border: 1px solid #7f9db9;
z-index: 200 !important;
background-size: cover !important;
background-position: center !important;
}
/* 隐藏原有的用户图标/符号 */
#pt-userpage > a > span::before,
.navbar-personaltools > li:first-child > a > span::before {
display: none !important;
}
/* 修复时钟显示 */
.taskbar-clock {
position: fixed;
right: 10px;
bottom: 0;
height: 30px;
padding: 0 10px;
background: transparent;
color: white !important;
font-weight: bold !important;
line-height: 30px;
font-size: 14px !important;
z-index: 9999;
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
/* 隐藏时钟图标 */
#pt-clock > a > span::before {
display: none !important;
}
/* 修复开始按钮 - 实际元素而非伪元素 */
.start-button {
position: fixed;
left: 0;
bottom: 30px;
width: 100px;
height: 30px;
background: linear-gradient(to bottom, #4cae4c, #398439);
color: white;
text-align: center;
line-height: 30px;
font-weight: bold;
border-radius: 0 5px 5px 0;
z-index: 9999;
cursor: pointer;
border: 1px solid #366;
border-left: none;
box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.3);
padding-left: 30px;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M0 0h11v11H0V0zm13 0h11v11H13V0zM0 13h11v11H0V13zm13 0h11v11H13V13z'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: 5px center;
background-size: 20px 20px;
}
/* 修复开始菜单样式 */
#xp-start-menu {
position: fixed !important;
left: 0 !important;
bottom: 60px !important;
width: 250px !important;
background-color: white !important;
border: 2px solid #0054e3 !important;
box-shadow: 2px -2px 5px rgba(0, 0, 0, 0.3) !important;
z-index: 10000 !important;
display: none;
}
.start-menu-top {
height: 60px !important;
background: linear-gradient(to bottom, #235ddc, #225ada 50%, #214fbb) !important;
color: white !important;
padding: 10px !important;
font-weight: bold !important;
display: flex !important;
align-items: center !important;
}
.start-menu-items {
background-color: white !important;
padding: 5px 0 !important;
}
.start-menu-item {
padding: 5px 10px !important;
display: flex !important;
align-items: center !important;
cursor: pointer !important;
}
.start-menu-item:hover {
background-color: #e0ecff !important;
}
/* 修复下拉菜单 */
.dropdown-menu {
display: none;
position: absolute;
background-color: rgb(var(--xp-window-bg)) !important;
border: 1px solid rgb(var(--xp-window-border)) !important;
box-shadow: var(--window-shadow) !important;
border-radius: 0 !important;
z-index: 1000;
}
.dropdown.open .dropdown-menu,
.dropdown:hover .dropdown-menu,
.nav-item.dropdown:hover .dropdown-menu {
display: block !important;
}
/* CommonJS功能 */
/* 这些样式将由JavaScript功能使用 */
Loading comments...