console
<div class='ellipsis-box .line-4'>
<div class="top"></div>
<input
data-text="... 展开"
type="radio"
name="ellipsis"
class="open check-btn"
>
<div class="content">
asfafasfasfsfasfsfasf
团队也维护了一个名为 VitePress 的静态站点生成器,
你正在阅读的文档就是基于它构建的!VitePress 支持两种形式的
SSG。另外,NuxtJS 也支持 SSG
你甚至可以在同一个 Nuxt 应用中通过不同的路由提供 SSR 和 SSG。
<input
data-text="收起"
type="radio"
name="ellipsis"
checked
class="close check-btn"
>
</div>
</div>
<br>
<div> 下文下文下文 </div>
<br>
<div class='ellipsis-box .line-6'>
<div class="top"></div>
<input
data-text="...展开"
type="radio"
name="ellipsis-2"
class="open check-btn"
>
<div class="content">
asfafasfasfsfasfsfasf
团队也维护了一个名为 的静态站点生成器,
你正在阅读的文档就是基于它构建的支持两种形式的
你甚至可以在同一个应用中通过不同的路由提供可以在同一个。
团队也维护了一个名为 的静态站点生成器,
你正在阅读的文档就是基于它构建的支持两种形式的
你甚至可以在同一个应用中通过不同的路由提供可以在同一个。
<input
data-text="收起"
type="radio"
name="ellipsis-2"
checked
class="close check-btn"
>
</div>
</div>
:root {
--show-line: 3;
}
body {
background: green;
}
.line-2 {
--show-line: 1;
}
.line-3 {
--show-line: 2;
}
.line-4 {
--show-line: 3;
}
.line-5 {
--show-line: 4;
}
.line-6 {
--show-line: 5;
}
.line-7 {
--show-line: 6;
}
.line-8 {
--show-line: 7;
}
.line-9 {
--show-line: 8;
}
.line-10 {
--show-line: 9;
}
.line-11 {
--show-line: 10;
}
.line-12 {
--show-line: 11;
}
.line-13 {
--show-line: 12;
}
.line-14 {
--show-line: 13;
}
.ellipsis-box {
--line-height: 24px;
--close-height: calc(var(--show-line)*var(--line-height));
--font-size: 14px;
position: relative;
box-sizing: border-box;
width: 300px;
line-height: var(--line-height);
overflow: hidden;
font-size: var(--font-size);
background: gainsboro;
}
.top {
height: var(--close-height);
}
.open {
float: right;
}
.open,
.close {
color: skyblue;
appearance: none;
}
.open::before,
.close::before {
content: attr(data-text);
font-size: var(--font-size);
}
.open:checked,
.close:checked {
display: none;
}
.content {
max-height: calc(var(--close-height) + var(--line-height));
margin-top: calc(-1* var(--close-height));
background: inherit;
}
.content::after {
display: inline-block;
content: '';
position: absolute;
right: 0;
z-index: 9;
height: calc(2* var(--font-size));
width: calc(3* var(--font-size));
background: inherit;
}
.open:checked+.content {
max-height: unset;
}
.open:checked+.content::after {
display: none;
}