我有一个使用HTML和CSS实现的可折叠列表.该列表工作正常,但我需要一些修改.
每当我点击列表中的某个项目时,它就会展开.但是,当我单击同一列表中的另一个项目时,先前展开的元素将被折叠,而单击的元素将被展开.
请帮助我应用可以同时扩展多个列表项的行为.
我希望它只在HTML和CSS中完成.
这是我目前的实施.CSS样式:
.row { vertical-align: top; height: auto !important; }
list { display: none; }
.show { display: none; }
.hide:target + .show { display: inline; }
.hide:target { display: none; }
.hide:target ~ .list { display:inline; }
@media print { .hide, .show { display: none; } }
Run Code Online (Sandbox Code Playgroud)
和HTML标记:
<div class="row">
<a href="#hide1" class="hide" id="hide1">Expand</a>
<a href="#show1" class="show" id="show1">Collapse</a>
<div class="list">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
小智 72
<details>
<summary>See More</summary>
This text will be hidden if your browser supports it.
</details>Run Code Online (Sandbox Code Playgroud)
Rok*_*jan 12
纯HTML和CSS
一个复选框,它的:checked状态听起来像是完美匹配你的情况:
[id^="togList"], /* HIDE CHECKBOX */
[id^="togList"] ~ .list, /* HIDE LIST */
[id^="togList"] + label span + span, /* HIDE "Collapse" */
[id^="togList"]:checked + label span{ /* HIDE "Expand" (IF CHECKED) */
display:none;
}
[id^="togList"]:checked + label span + span{
display:inline-block; /* SHOW "Collapse" (IF CHECKED) */
}
[id^="togList"]:checked ~ .list{
display:block; /* SHOW LIST (IF CHECKED) */
}Run Code Online (Sandbox Code Playgroud)
<div class="row">
<input id="togList1" type="checkbox">
<label for="togList1">
<span>Expand</span>
<span>Collapse</span>
</label>
<div class="list">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47712 次 |
| 最近记录: |