模板:收缩大标题/styles.css:修订间差异
来自ANACHRONISM
更多操作
< 模板:收缩大标题
创建页面,内容为“→============================================ 收缩大标题 使用 <details> / <summary> 实现零 JS 折叠 ============================================: .fold { position: relative; margin: 1em 0; border-radius: 6px; overflow: hidden; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); } →---- 头部 ----: .fold__main { display: block; position: relative; padding: 1.2em 3.5em 1.2em 1.5em; bac…” |
无编辑摘要 |
||
| 第2行: | 第2行: | ||
收缩大标题 | 收缩大标题 | ||
使用 <details> / <summary> 实现零 JS 折叠 | 使用 <details> / <summary> 实现零 JS 折叠 | ||
所有内部元素用 span + display 控制 | |||
============================================ */ | ============================================ */ | ||
.fold { | .fold { | ||
display: block; | |||
position: relative; | position: relative; | ||
margin: 1em 0; | margin: 1em 0; | ||
| 第33行: | 第35行: | ||
/* ---- 背景水印 ---- */ | /* ---- 背景水印 ---- */ | ||
.fold__watermark { | .fold__watermark { | ||
display: block; | |||
position: absolute; | position: absolute; | ||
left: 0; | left: 0; | ||
| 第56行: | 第59行: | ||
} | } | ||
.fold__title-cn { | .fold__title-cn { | ||
display: block; | |||
font-size: 2.5em; | font-size: 2.5em; | ||
font-weight: 900; | font-weight: 900; | ||
| 第61行: | 第65行: | ||
} | } | ||
.fold__title-en { | .fold__title-en { | ||
display: block; | |||
font-size: 1em; | font-size: 1em; | ||
font-weight: bold; | font-weight: bold; | ||
| 第66行: | 第71行: | ||
} | } | ||
.fold__title-deco { | .fold__title-deco { | ||
display: block; | |||
font-size: 0.8em; | font-size: 0.8em; | ||
font-weight: bold; | font-weight: bold; | ||
| 第73行: | 第79行: | ||
/* ---- 折叠按钮 ---- */ | /* ---- 折叠按钮 ---- */ | ||
.fold__button { | .fold__button { | ||
display: block; | |||
position: absolute; | position: absolute; | ||
right: 1.2em; | right: 1.2em; | ||
| 第115行: | 第122行: | ||
} | } | ||
.fold__content-inner { | .fold__content-inner { | ||
display: block; | |||
overflow: hidden; | overflow: hidden; | ||
padding: 0 1.5em; | padding: 0 1.5em; | ||
2026年10月6日 (二) 13:16的版本
/* ============================================
收缩大标题
使用 <details> / <summary> 实现零 JS 折叠
所有内部元素用 span + display 控制
============================================ */
.fold {
display: block;
position: relative;
margin: 1em 0;
border-radius: 6px;
overflow: hidden;
background: #fff;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
/* ---- 头部 ---- */
.fold__main {
display: block;
position: relative;
padding: 1.2em 3.5em 1.2em 1.5em;
background: #57000d;
color: #fff;
cursor: pointer;
list-style: none;
transition: background 0.3s ease;
}
.fold__main::marker {
content: "";
}
.fold__main:hover {
background: #6b0011;
}
/* ---- 背景水印 ---- */
.fold__watermark {
display: block;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
font-size: 5em;
font-weight: 900;
line-height: 1;
opacity: 0.15;
pointer-events: none;
z-index: 0;
}
/* ---- 标题组 ---- */
.fold__titles {
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
line-height: 1.2;
position: relative;
z-index: 1;
}
.fold__title-cn {
display: block;
font-size: 2.5em;
font-weight: 900;
letter-spacing: 0.02em;
}
.fold__title-en {
display: block;
font-size: 1em;
font-weight: bold;
letter-spacing: 0.35em;
}
.fold__title-deco {
display: block;
font-size: 0.8em;
font-weight: bold;
letter-spacing: 0.25em;
}
/* ---- 折叠按钮 ---- */
.fold__button {
display: block;
position: absolute;
right: 1.2em;
top: 50%;
transform: translateY(-50%);
width: 1.5em;
height: 1.5em;
z-index: 2;
}
.fold__button::before,
.fold__button::after {
content: "";
position: absolute;
left: 50%;
top: 50%;
background: #fff;
transition: transform 0.3s ease, opacity 0.3s ease;
}
.fold__button::before {
width: 1em;
height: 2px;
transform: translate(-50%, -50%);
}
.fold__button::after {
width: 2px;
height: 1em;
transform: translate(-50%, -50%);
}
.fold[open] .fold__button::after {
transform: translate(-50%, -50%) rotate(90deg);
opacity: 0;
}
/* ---- 内容区 ---- */
.fold__content {
display: grid;
grid-template-rows: 0fr;
transition: grid-template-rows 0.4s ease;
}
.fold[open] .fold__content {
grid-template-rows: 1fr;
}
.fold__content-inner {
display: block;
overflow: hidden;
padding: 0 1.5em;
color: #333;
line-height: 1.6;
transition: padding 0.4s ease;
}
.fold[open] .fold__content-inner {
padding: 1em 1.5em;
}