打开/关闭菜单
5
6
152
卡车模拟中文维基
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

Template:Main page/shared/styles.css:修订间差异

模板页面
无编辑摘要
标签已被回退
撤销Imxiaoanag讨论)的修订版本122
标签撤销
 
第1行: 第1行:
/* =========================================================
* 首页主题变量
* ========================================================= */
:root {
/* 普通卡片 */
--home-card-background: var(--color-surface-1);
--home-card-border-color: var(--border-color-base);
/* 徽章及次级区域 */
--home-secondary-background: var(--color-surface-2);
--home-secondary-background-hover: var(--color-surface-2--hover);
--home-secondary-background-active: var(--color-surface-2--active);
/* 文字颜色 */
--home-text-color: var(--color-base);
--home-title-color: var(--color-emphasized);
--home-subtle-color: var(--color-subtle);
/* 阴影 */
--home-card-shadow: none;
}
/*
* Citizen 夜间模式。
*
* 页面背景为 #333333 时,卡片使用稍亮的灰色,
* 使首页模块与页面底色形成层次。
*/
:root.skin-theme-clientpref-night {
--home-card-background: #3d3d3d;
--home-card-border-color: #555555;
--home-secondary-background: #484848;
--home-secondary-background-hover: #525252;
--home-secondary-background-active: #5c5c5c;
--home-text-color: #f1f1f1;
--home-title-color: #ffffff;
--home-subtle-color: #b8b8b8;
--home-card-shadow:
0 2px 8px rgb(0 0 0 / 0.22),
0 8px 24px rgb(0 0 0 / 0.12);
}
/* =========================================================
* 首页网格
* ========================================================= */
.home-grid {
.home-grid {
display: grid;
display: grid;
 
grid: auto-flow dense/repeat( auto-fit, minmax( 9.375rem, 1fr ) );
grid:
grid-auto-rows: minmax( 3rem, auto );
auto-flow dense /
grid-gap: var( --space-xs );
repeat(auto-fit, minmax(9.375rem, 1fr));
 
grid-auto-rows: minmax(3rem, auto);
gap: var(--space-xs);
}
}


.home-grid--col2 {
.home-grid--col2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-template-columns: 1fr 1fr;
}
}


/*
* 移除 MediaWiki 为外部链接添加的默认背景图标。
*/
.home-grid a.external {
.home-grid a.external {
background-image: none;
background-image: none;
}
}
/* =========================================================
* 首页通用徽章
* ========================================================= */


.home-badge {
.home-badge {
display: flex;
display: flex;
align-items: center;
    gap: var(--space-xxs);
gap: var(--space-xxs);
 
padding:
var(--space-xxs)
var(--space-xs);
 
background-color: var(--home-secondary-background);
color: var(--home-text-color);
 
border: 1px solid var(--home-card-border-color);
border-radius: var(--border-radius-base);
 
font-size: var(--font-size-x-small);
font-size: var(--font-size-x-small);
font-weight: var(--font-weight-normal);
    padding: var(--space-xxs) var(--space-xs);
letter-spacing: 0.025em;
    background: var(--color-surface-2);
line-height: var(--line-height-xxx-small);
    color: var(--color-base);
    border-radius: var(--border-radius-base);
    font-weight: var(--font-weight-normal);
    letter-spacing: 0.025em;
    line-height: var(--line-height-xxx-small);
}
}
/* =========================================================
* 首页卡片
* ========================================================= */


.home-card {
.home-card {
position: relative;
position: relative;
 
padding: var( --space-md );
padding: var(--space-md);
border: 1px solid var( --border-color-base );
 
background: var( --color-surface-1 );
background-color: var(--home-card-background);
border-radius: var( --border-radius-medium );
color: var(--home-text-color);
font-size: var( --font-size-small );
 
border: 1px solid var(--home-card-border-color);
border-radius: var(--border-radius-medium);
box-shadow: var(--home-card-shadow);
 
font-size: var(--font-size-small);
}
 
/*
* 卡片内部链接继承当前主题的文字可读性。
*/
.home-card a {
color: var(--color-progressive);
}
}


.home-card table.timeline {
.home-card table.timeline {
margin-top: var(--space-xs);
margin-top: var( --space-xs );
}
}
/* =========================================================
* 首页卡片跨行、跨列
* ========================================================= */


.home-card--col2 {
.home-card--col2 {
第145行: 第55行:
grid-row: span 8 / auto;
grid-row: span 8 / auto;
}
}
/* =========================================================
* 卡片徽章与标签
* ========================================================= */


.home-card__badge,
.home-card__badge,
.home-card__label {
.home-card__label {
color: var(--home-subtle-color);
color: var( --color-subtle );
 
font-size: var( --font-size-x-small );
font-size: var(--font-size-x-small);
letter-spacing: 0.05em;
letter-spacing: 0.05em;
}
}


.home-card__badge {
.home-card__badge {
padding:
padding: var( --space-xxs ) var( --space-xs );
var(--space-xxs)
border-radius: var( --border-radius-base );
var(--space-xs);
background: var( --color-surface-2 );
 
background-color: var(--home-secondary-background);
 
border: 1px solid var(--home-card-border-color);
border-radius: var(--border-radius-base);
}
}
/* =========================================================
* 卡片标题
* ========================================================= */


.home-card__header {
.home-card__header {
color: var(--home-title-color);
color: var( --color-emphasized );
 
font-size: 1rem;
font-size: 1rem;
font-weight: var(--font-weight-semi-bold);
    font-weight: var( --font-weight-semi-bold );
line-height: var(--line-height-xxx-small);
    line-height: var( --line-height-xxx-small );
}
}


第185行: 第80行:
align-items: center;
align-items: center;
justify-content: space-between;
justify-content: space-between;
gap: var(--space-xs);
color: inherit;
text-decoration: none;
}
}


.home-card__header a::after {
.home-card__header a:after {
content: "";
content: '';
 
font-size: var( --font-size-x-small );
flex-shrink: 0;
 
color: var(--home-subtle-color);
font-size: var(--font-size-x-small);
}
}
/* =========================================================
* 图片背景卡片
* ========================================================= */


.home-card__background {
.home-card__background {
第209行: 第92行:
}
}


/*
.home-card__background:after {
* 在背景图上增加渐变遮罩,
* 保证前景白色文字的可读性。
*/
.home-card__background::after {
position: absolute;
position: absolute;
    pointer-events: none;
inset: 0;
inset: 0;
 
    display: block;
display: block;
    background: linear-gradient(to right,#000,transparent);
 
    content: "";
background:
    transition: transform 250ms ease;
linear-gradient(
to right,
rgb(0 0 0 / 0.85),
rgb(0 0 0 / 0.15) 70%,
transparent
);
 
content: "";
pointer-events: none;
 
transition: opacity 250ms ease;
}
}


第240行: 第109行:


.home-card__background img {
.home-card__background img {
display: block;
object-fit: cover;
object-fit: cover;
object-position: center;
object-position: center;
}
}
/* =========================================================
* 图片卡片前景内容
* ========================================================= */


.home-card__foreground {
.home-card__foreground {
position: absolute;
position: absolute;
inset: 0;
top: 0;
 
bottom: 0;
left: 0;
right: 0;
padding: var( --space-md );
display: flex;
display: flex;
flex-direction: column;
flex-direction: column;
justify-content: center;
justify-content: center;
gap: var(--space-xxs);
gap: var( --space-xxs );
 
color: #fff;
padding: var(--space-md);
line-height: var( --line-height-xxx-small );
 
color: #ffffff;
line-height: var(--line-height-xxx-small);
 
pointer-events: none;
pointer-events: none;
}
}
第269行: 第131行:
.home-card__foreground .home-card__badge {
.home-card__foreground .home-card__badge {
position: absolute;
position: absolute;
top: 0;
    top: 0;
right: 0;
    right: 0;
 
    border-top-left-radius: 0;
background-color: rgb(40 40 40 / 0.88);
    border-bottom-right-radius: 0;
color: #ffffff;
 
border-color: rgb(255 255 255 / 0.2);
border-top-left-radius: 0;
border-bottom-right-radius: 0;
 
backdrop-filter: blur(8px);
}
}


.home-card__foreground .home-card__header {
.home-card__foreground .home-card__header {
color: #ffffff;
color: #fff;
}
}


.home-card__foreground .home-card__label {
.home-card__foreground .home-card__label {
color: #d0d0d0;
color: #bababa;
}
}
/* =========================================================
* 卡片段落
* ========================================================= */


.home-card p {
.home-card p {
margin-top: var(--space-xs);
margin-top: var( --space-xs );
 
font-size: var( --font-size-small );
color: var(--home-text-color);
 
font-size: var(--font-size-small);
}
 
/*
* 图片背景卡片内的段落始终使用浅色文字。
*/
.home-card__foreground p {
color: #ffffff;
}
}
/* =========================================================
* 按钮式卡片
* ========================================================= */


.home-card.home-card--button {
.home-card.home-card--button {
overflow: hidden;
overflow: hidden;
padding: 0;
padding: 0;
border: 0;
border: 0;
}
}
第323行: 第158行:
.home-card--button a {
.home-card--button a {
display: flex;
display: flex;
height: 100%;
justify-content: center;
align-items: center;
align-items: center;
justify-content: center;
padding: 0 var( --space-md );
 
background: transparent;
width: 100%;
color: #fff;
height: 100%;
font-weight: var( --font-weight-medium );
 
padding-inline: var(--space-md);
 
background-color: transparent;
color: #ffffff;
 
font-weight: var(--font-weight-medium);
text-decoration: none;
}
}


第347行: 第176行:


.home-card--button:hover img {
.home-card--button:hover img {
transform: scale(1.1);
transform: scale( 1.1 );
}
 
.home-card--button:hover .home-card__background::after {
opacity: 0.82;
}
}
/* =========================================================
* 首页链接按钮
* ========================================================= */


.home-link {
.home-link {
display: grid;
display: grid;
gap: var(--space-xs);
margin-top: var( --space-xs );
 
font-size: var( --font-size-small );
margin-top: var(--space-xs);
font-weight: var( --font-weight-medium );
 
grid-gap: var( --space-xs );
font-size: var(--font-size-small);
font-weight: var(--font-weight-medium);
text-align: center;
text-align: center;
}
}
第375行: 第194行:
.home-link__button a {
.home-link__button a {
flex-grow: 1;
flex-grow: 1;
 
padding: var( --space-xs );
padding: var(--space-xs);
border: 1px solid var( --border-color-base );
 
background: var( --color-surface-2 );
background-color: var(--home-secondary-background);
border-radius: var( --border-radius-medium );
color: var(--home-title-color) !important;
color: var( --color-emphasized ) !important;
 
    line-height: var( --line-height-xxx-small );
border: 1px solid var(--home-card-border-color);
    text-decoration: none !important;
border-radius: var(--border-radius-medium);
 
line-height: var(--line-height-xxx-small);
text-decoration: none !important;
 
transition:
background-color 150ms ease,
border-color 150ms ease;
}
}


.home-link__button a:hover {
.home-link__button a:hover {
background-color: var(--home-secondary-background-hover);
background: var( --color-surface-2--hover );
}
}


.home-link__button a:active {
.home-link__button a:active {
background-color: var(--home-secondary-background-active);
background: var( --color-surface-2--active );
}
}
/* =========================================================
* 首页其他内容
* ========================================================= */


#home-content {
#home-content {
margin-top: var(--space-lg);
margin-top: var( --space-lg );
}
}


第413行: 第220行:


.home-footer {
.home-footer {
color: var(--home-subtle-color);
font-size: var( --font-size-small );
 
font-family: var( --font-family-monospace );
font-family: var(--font-family-monospace);
font-size: var(--font-size-small);
text-align: center;
text-align: center;
}
/* =========================================================
* 移动端适配
* ========================================================= */
@media (max-width: 720px) {
.home-grid,
.home-grid--col2 {
grid-template-columns: 1fr;
}
.home-card--col2 {
grid-column: span 1;
}
/*
* 移动端不固定跨行高度,避免内容较多时出现异常留白。
*/
.home-card--row3,
.home-card--row4,
.home-card--row8 {
grid-row: auto;
}
}
}

2026年7月21日 (二) 02:55的最新版本

.home-grid {
	display: grid;
	grid: auto-flow dense/repeat( auto-fit, minmax( 9.375rem, 1fr ) );
	grid-auto-rows: minmax( 3rem, auto );
	grid-gap: var( --space-xs );
}

.home-grid--col2 {
	grid-template-columns: 1fr 1fr;
}

.home-grid a.external {
	background-image: none;
}

.home-badge {
	display: flex;
    gap: var(--space-xxs);
	font-size: var(--font-size-x-small);
    padding: var(--space-xxs) var(--space-xs);
    background: var(--color-surface-2);
    color: var(--color-base);
    border-radius: var(--border-radius-base);
    font-weight: var(--font-weight-normal);
    letter-spacing: 0.025em;
    line-height: var(--line-height-xxx-small);
}

.home-card {
	position: relative;
	padding: var( --space-md );
	border: 1px solid var( --border-color-base );
	background: var( --color-surface-1 );
	border-radius: var( --border-radius-medium );
	font-size: var( --font-size-small );
}

.home-card table.timeline {
	margin-top: var( --space-xs );
}

.home-card--col2 {
	grid-column: span 2;
}

.home-card--row3 {
	grid-row: span 3;
}

.home-card--row4 {
	grid-row: span 4;
}

.home-card--row8 {
	grid-row: span 8 / auto;
}

.home-card__badge,
.home-card__label {
	color: var( --color-subtle );
	font-size: var( --font-size-x-small );
	letter-spacing: 0.05em;
}

.home-card__badge {
	padding: var( --space-xxs ) var( --space-xs );
	border-radius: var( --border-radius-base );
	background: var( --color-surface-2 );
}

.home-card__header {
	color: var( --color-emphasized );
	font-size: 1rem;
    font-weight: var( --font-weight-semi-bold );
    line-height: var( --line-height-xxx-small );
}

.home-card__header a {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.home-card__header a:after {
	content: '▶';
	font-size: var( --font-size-x-small );
}

.home-card__background {
	position: absolute;
	inset: 0;
}

.home-card__background:after {
	position: absolute;
    pointer-events: none;
	inset: 0;
    display: block;
    background: linear-gradient(to right,#000,transparent);
    content: "";
    transition: transform 250ms ease;
}

.home-card__background picture,
.home-card__background img {
	width: 100%;
	height: 100%;
}

.home-card__background img {
	object-fit: cover;
	object-position: center;
}

.home-card__foreground {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	padding: var( --space-md );
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var( --space-xxs );
	color: #fff;
	line-height: var( --line-height-xxx-small );
	pointer-events: none;
}

.home-card__foreground .home-card__badge {
	position: absolute;
    top: 0;
    right: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 0;
}

.home-card__foreground .home-card__header {
	color: #fff;
}

.home-card__foreground .home-card__label {
	color: #bababa;
}

.home-card p {
	margin-top: var( --space-xs );
	font-size: var( --font-size-small );
}

.home-card.home-card--button {
	overflow: hidden;
	padding: 0;
	border: 0;
}

.home-card--button a {
	display: flex;
	height: 100%;
	justify-content: center;
	align-items: center;
	padding: 0 var( --space-md );
	background: transparent;
	color: #fff;
	font-weight: var( --font-weight-medium );
}

.home-card--button .home-card__background a {
	padding: 0;
}

.home-card--button img {
	transition: transform 250ms ease;
}

.home-card--button:hover img {
	transform: scale( 1.1 );
}

.home-link {
	display: grid;
	margin-top: var( --space-xs );
	font-size: var( --font-size-small );
	font-weight: var( --font-weight-medium );
	grid-gap: var( --space-xs );
	text-align: center;
}

.home-link__button {
	display: flex;
}

.home-link__button a {
	flex-grow: 1;
	padding: var( --space-xs );
	border: 1px solid var( --border-color-base );
	background: var( --color-surface-2 );
	border-radius: var( --border-radius-medium );
	color: var( --color-emphasized ) !important;
    line-height: var( --line-height-xxx-small );
    text-decoration: none !important;
}

.home-link__button a:hover {
	background: var( --color-surface-2--hover );
}

.home-link__button a:active {
	background: var( --color-surface-2--active );
}

#home-content {
	margin-top: var( --space-lg );
}

.home-card .template-statsbar {
	margin: 0;
}

.home-footer {
	font-size: var( --font-size-small );
	font-family: var( --font-family-monospace );
	text-align: center;
}