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

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

模板页面
Update to new Style
无编辑摘要
标签已被回退
第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-auto-rows: minmax( 3rem, auto );
grid:
grid-gap: var( --space-xs );
auto-flow dense /
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: 1fr 1fr;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}


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


.home-badge {
.home-badge {
display: flex;
display: flex;
    gap: var(--space-xxs);
align-items: center;
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);
    padding: var(--space-xxs) var(--space-xs);
font-weight: var(--font-weight-normal);
    background: var(--color-surface-2);
letter-spacing: 0.025em;
    color: var(--color-base);
line-height: var(--line-height-xxx-small);
    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 );
 
border: 1px solid var( --border-color-base );
padding: var(--space-md);
background: var( --color-surface-1 );
 
border-radius: var( --border-radius-medium );
background-color: var(--home-card-background);
font-size: var( --font-size-small );
color: var(--home-text-color);
 
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 {
第55行: 第145行:
grid-row: span 8 / auto;
grid-row: span 8 / auto;
}
}
/* =========================================================
* 卡片徽章与标签
* ========================================================= */


.home-card__badge,
.home-card__badge,
.home-card__label {
.home-card__label {
color: var( --color-subtle );
color: var(--home-subtle-color);
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: var( --space-xxs ) var( --space-xs );
padding:
border-radius: var( --border-radius-base );
var(--space-xxs)
background: var( --color-surface-2 );
var(--space-xs);
 
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( --color-emphasized );
color: var(--home-title-color);
 
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);
}
}


第80行: 第185行:
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 {
第92行: 第209行:
}
}


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


第109行: 第240行:


.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;
top: 0;
inset: 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;
 
line-height: var( --line-height-xxx-small );
padding: var(--space-md);
 
color: #ffffff;
line-height: var(--line-height-xxx-small);
 
pointer-events: none;
pointer-events: none;
}
}
第131行: 第269行:
.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;
 
    border-bottom-right-radius: 0;
background-color: rgb(40 40 40 / 0.88);
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: #fff;
color: #ffffff;
}
}


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


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


第176行: 第347行:


.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;
margin-top: var( --space-xs );
gap: var(--space-xs);
font-size: var( --font-size-small );
 
font-weight: var( --font-weight-medium );
margin-top: var(--space-xs);
grid-gap: var( --space-xs );
 
font-size: var(--font-size-small);
font-weight: var(--font-weight-medium);
text-align: center;
text-align: center;
}
}
第194行: 第375行:
.home-link__button a {
.home-link__button a {
flex-grow: 1;
flex-grow: 1;
padding: var( --space-xs );
 
border: 1px solid var( --border-color-base );
padding: var(--space-xs);
background: var( --color-surface-2 );
 
border-radius: var( --border-radius-medium );
background-color: var(--home-secondary-background);
color: var( --color-emphasized ) !important;
color: var(--home-title-color) !important;
    line-height: var( --line-height-xxx-small );
 
    text-decoration: none !important;
border: 1px solid var(--home-card-border-color);
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: var( --color-surface-2--hover );
background-color: var(--home-secondary-background-hover);
}
}


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


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


第220行: 第413行:


.home-footer {
.home-footer {
font-size: var( --font-size-small );
color: var(--home-subtle-color);
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:54的版本

/* =========================================================
 * 首页主题变量
 * ========================================================= */

: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 {
	display: grid;

	grid:
		auto-flow dense /
		repeat(auto-fit, minmax(9.375rem, 1fr));

	grid-auto-rows: minmax(3rem, auto);
	gap: var(--space-xs);
}

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

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

/* =========================================================
 * 首页通用徽章
 * ========================================================= */

.home-badge {
	display: flex;
	align-items: center;
	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-weight: var(--font-weight-normal);
	letter-spacing: 0.025em;
	line-height: var(--line-height-xxx-small);
}

/* =========================================================
 * 首页卡片
 * ========================================================= */

.home-card {
	position: relative;

	padding: var(--space-md);

	background-color: var(--home-card-background);
	color: var(--home-text-color);

	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 {
	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(--home-subtle-color);

	font-size: var(--font-size-x-small);
	letter-spacing: 0.05em;
}

.home-card__badge {
	padding:
		var(--space-xxs)
		var(--space-xs);

	background-color: var(--home-secondary-background);

	border: 1px solid var(--home-card-border-color);
	border-radius: var(--border-radius-base);
}

/* =========================================================
 * 卡片标题
 * ========================================================= */

.home-card__header {
	color: var(--home-title-color);

	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;
	gap: var(--space-xs);

	color: inherit;
	text-decoration: none;
}

.home-card__header a::after {
	content: "▶";

	flex-shrink: 0;

	color: var(--home-subtle-color);
	font-size: var(--font-size-x-small);
}

/* =========================================================
 * 图片背景卡片
 * ========================================================= */

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

/*
 * 在背景图上增加渐变遮罩,
 * 保证前景白色文字的可读性。
 */
.home-card__background::after {
	position: absolute;
	inset: 0;

	display: block;

	background:
		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;
}

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

.home-card__background img {
	display: block;

	object-fit: cover;
	object-position: center;
}

/* =========================================================
 * 图片卡片前景内容
 * ========================================================= */

.home-card__foreground {
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--space-xxs);

	padding: var(--space-md);

	color: #ffffff;
	line-height: var(--line-height-xxx-small);

	pointer-events: none;
}

.home-card__foreground .home-card__badge {
	position: absolute;
	top: 0;
	right: 0;

	background-color: rgb(40 40 40 / 0.88);
	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 {
	color: #ffffff;
}

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

/* =========================================================
 * 卡片段落
 * ========================================================= */

.home-card p {
	margin-top: var(--space-xs);

	color: var(--home-text-color);

	font-size: var(--font-size-small);
}

/*
 * 图片背景卡片内的段落始终使用浅色文字。
 */
.home-card__foreground p {
	color: #ffffff;
}

/* =========================================================
 * 按钮式卡片
 * ========================================================= */

.home-card.home-card--button {
	overflow: hidden;

	padding: 0;

	border: 0;
}

.home-card--button a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 100%;
	height: 100%;

	padding-inline: var(--space-md);

	background-color: transparent;
	color: #ffffff;

	font-weight: var(--font-weight-medium);
	text-decoration: none;
}

.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-card--button:hover .home-card__background::after {
	opacity: 0.82;
}

/* =========================================================
 * 首页链接按钮
 * ========================================================= */

.home-link {
	display: grid;
	gap: var(--space-xs);

	margin-top: var(--space-xs);

	font-size: var(--font-size-small);
	font-weight: var(--font-weight-medium);
	text-align: center;
}

.home-link__button {
	display: flex;
}

.home-link__button a {
	flex-grow: 1;

	padding: var(--space-xs);

	background-color: var(--home-secondary-background);
	color: var(--home-title-color) !important;

	border: 1px solid var(--home-card-border-color);
	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 {
	background-color: var(--home-secondary-background-hover);
}

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

/* =========================================================
 * 首页其他内容
 * ========================================================= */

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

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

.home-footer {
	color: var(--home-subtle-color);

	font-family: var(--font-family-monospace);
	font-size: var(--font-size-small);
	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;
	}
}