有没有办法让twitter引导程序中的嵌套列表看起来像普通列表,嵌套项目只是缩进(并使其适用于任意深度嵌套)?默认情况下,嵌套列表看起来像this:
<ul class="list-group">
<li class="list-group-item">One</li>
<li class="list-group-item">Two
<ul class="list-group">
<li class="list-group-item">Item 2a</li>
<li class="list-group-item">Item 2b</li>
</ul>
</li>
<li class="list-group-item">Three
<ul class="list-group">
<li class="list-group-item">Item 3a</li>
<li class="list-group-item">Item 3b</li>
</ul>
</li>
</ul>
如何使这些嵌套列表显示为(或以类似方式):
如果你错过了上面的链接,这里是JSFiddle:https://jsfiddle.net/7o8rp0kv/1/
答案 0 :(得分:110)
嵌套群组列表
.just-padding {
padding: 15px;
}
.list-group.list-group-root {
padding: 0;
overflow: hidden;
}
.list-group.list-group-root .list-group {
margin-bottom: 0;
}
.list-group.list-group-root .list-group-item {
border-radius: 0;
border-width: 1px 0 0 0;
}
.list-group.list-group-root > .list-group-item:first-child {
border-top-width: 0;
}
.list-group.list-group-root > .list-group > .list-group-item {
padding-left: 30px;
}
.list-group.list-group-root > .list-group > .list-group > .list-group-item {
padding-left: 45px;
}
&#13;
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<div class="just-padding">
<div class="list-group list-group-root well">
<a href="#" class="list-group-item">Item 1</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 1.1</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 1.1.1</a>
<a href="#" class="list-group-item">Item 1.1.2</a>
<a href="#" class="list-group-item">Item 1.1.3</a>
</div>
<a href="#" class="list-group-item">Item 1.2</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 1.2.1</a>
<a href="#" class="list-group-item">Item 1.2.2</a>
<a href="#" class="list-group-item">Item 1.2.3</a>
</div>
<a href="#" class="list-group-item">Item 1.3</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 1.3.1</a>
<a href="#" class="list-group-item">Item 1.3.2</a>
<a href="#" class="list-group-item">Item 1.3.3</a>
</div>
</div>
<a href="#" class="list-group-item">Item 2</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 2.1</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 2.1.1</a>
<a href="#" class="list-group-item">Item 2.1.2</a>
<a href="#" class="list-group-item">Item 2.1.3</a>
</div>
<a href="#" class="list-group-item">Item 2.2</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 2.2.1</a>
<a href="#" class="list-group-item">Item 2.2.2</a>
<a href="#" class="list-group-item">Item 2.2.3</a>
</div>
<a href="#" class="list-group-item">Item 2.3</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 2.3.1</a>
<a href="#" class="list-group-item">Item 2.3.2</a>
<a href="#" class="list-group-item">Item 2.3.3</a>
</div>
</div>
<a href="#" class="list-group-item">Item 3</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 3.1</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 3.1.1</a>
<a href="#" class="list-group-item">Item 3.1.2</a>
<a href="#" class="list-group-item">Item 3.1.3</a>
</div>
<a href="#" class="list-group-item">Item 3.2</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 3.2.1</a>
<a href="#" class="list-group-item">Item 3.2.2</a>
<a href="#" class="list-group-item">Item 3.2.3</a>
</div>
<a href="#" class="list-group-item">Item 3.3</a>
<div class="list-group">
<a href="#" class="list-group-item">Item 3.3.1</a>
<a href="#" class="list-group-item">Item 3.3.2</a>
<a href="#" class="list-group-item">Item 3.3.3</a>
</div>
</div>
</div>
</div>
&#13;
查看提琴手:https://jsfiddle.net/u3gd85cj/
嵌套组列表(可折叠)
$(function() {
$('.list-group-item').on('click', function() {
$('.glyphicon', this)
.toggleClass('glyphicon-chevron-right')
.toggleClass('glyphicon-chevron-down');
});
});
&#13;
.just-padding {
padding: 15px;
}
.list-group.list-group-root {
padding: 0;
overflow: hidden;
}
.list-group.list-group-root .list-group {
margin-bottom: 0;
}
.list-group.list-group-root .list-group-item {
border-radius: 0;
border-width: 1px 0 0 0;
}
.list-group.list-group-root > .list-group-item:first-child {
border-top-width: 0;
}
.list-group.list-group-root > .list-group > .list-group-item {
padding-left: 30px;
}
.list-group.list-group-root > .list-group > .list-group > .list-group-item {
padding-left: 45px;
}
.list-group-item .glyphicon {
margin-right: 5px;
}
&#13;
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<div class="just-padding">
<div class="list-group list-group-root well">
<a href="#item-1" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 1
</a>
<div class="list-group collapse" id="item-1">
<a href="#item-1-1" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 1.1
</a>
<div class="list-group collapse" id="item-1-1">
<a href="#" class="list-group-item">Item 1.1.1</a>
<a href="#" class="list-group-item">Item 1.1.2</a>
<a href="#" class="list-group-item">Item 1.1.3</a>
</div>
<a href="#item-1-2" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 1.2
</a>
<div class="list-group collapse" id="item-1-2">
<a href="#" class="list-group-item">Item 1.2.1</a>
<a href="#" class="list-group-item">Item 1.2.2</a>
<a href="#" class="list-group-item">Item 1.2.3</a>
</div>
<a href="#item-1-3" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 1.3
</a>
<div class="list-group collapse" id="item-1-3">
<a href="#" class="list-group-item">Item 1.3.1</a>
<a href="#" class="list-group-item">Item 1.3.2</a>
<a href="#" class="list-group-item">Item 1.3.3</a>
</div>
</div>
<a href="#item-2" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 2
</a>
<div class="list-group collapse" id="item-2">
<a href="#item-2-1" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 2.1
</a>
<div class="list-group collapse" id="item-2-1">
<a href="#" class="list-group-item">Item 2.1.1</a>
<a href="#" class="list-group-item">Item 2.1.2</a>
<a href="#" class="list-group-item">Item 2.1.3</a>
</div>
<a href="#item-2-2" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 2.2
</a>
<div class="list-group collapse" id="item-2-2">
<a href="#" class="list-group-item">Item 2.2.1</a>
<a href="#" class="list-group-item">Item 2.2.2</a>
<a href="#" class="list-group-item">Item 2.2.3</a>
</div>
<a href="#item-2-3" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 2.3
</a>
<div class="list-group collapse" id="item-2-3">
<a href="#" class="list-group-item">Item 2.3.1</a>
<a href="#" class="list-group-item">Item 2.3.2</a>
<a href="#" class="list-group-item">Item 2.3.3</a>
</div>
</div>
<a href="#item-3" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 3
</a>
<div class="list-group collapse" id="item-3">
<a href="#item-3-1" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 3.1
</a>
<div class="list-group collapse" id="item-3-1">
<a href="#" class="list-group-item">Item 3.1.1</a>
<a href="#" class="list-group-item">Item 3.1.2</a>
<a href="#" class="list-group-item">Item 3.1.3</a>
</div>
<a href="#item-3-2" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 3.2
</a>
<div class="list-group collapse" id="item-3-2">
<a href="#" class="list-group-item">Item 3.2.1</a>
<a href="#" class="list-group-item">Item 3.2.2</a>
<a href="#" class="list-group-item">Item 3.2.3</a>
</div>
<a href="#item-3-3" class="list-group-item" data-toggle="collapse">
<i class="glyphicon glyphicon-chevron-right"></i>Item 3.3
</a>
<div class="list-group collapse" id="item-3-3">
<a href="#" class="list-group-item">Item 3.3.1</a>
<a href="#" class="list-group-item">Item 3.3.2</a>
<a href="#" class="list-group-item">Item 3.3.3</a>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
&#13;
答案 1 :(得分:7)
这是我的方法:
.list-group-collapse li > ul li:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.list-group-collapse li > ul {
margin-left: -16px;
margin-right: -16px;
margin-bottom: -11px;
}
如果您使用的是BS3,那么将.list-group-collapse
类添加到您的分组列表中就可以了。请参阅JSFiddle:https://jsfiddle.net/oscar_dr/d2wpn8sd/1/
当然,如果您有自定义的Bootstrap,您可以使用此类扩展BS或将值更改为自定义度量。
编辑:添加了代码片段以回答:
.list-group-collapse li>ul li:first-child {
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.list-group-collapse li>ul {
margin-left: -16px;
margin-right: -16px;
margin-bottom: -11px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" />
<div class="container">
<div class="row">
<div class="col-xs-6">
<h4>
With collapse
</h4>
<hr>
<ul class="list-group list-group-collapse">
<li class="list-group-item">
<h3>
Level 1
</h3>
<ul class="list-group">
<li class="list-group-item">
<h4>
Level 2.1
</h4>
<ul class="list-group">
<li class="list-group-item">
Item 2.1.1
</li>
<li class="list-group-item">
Item 2.1.2
</li>
<li class="list-group-item">
Item 2.1.3
</li>
</ul>
</li>
<li class="list-group-item">
<h4>
Level 2.2
</h4>
</li>
</ul>
</li>
</ul>
</div>
<div class="col-xs-6">
<h4>
Without collapse
</h4>
<hr>
<ul class="list-group">
<li class="list-group-item">
<h3>
Level 1
</h3>
<ul class="list-group">
<li class="list-group-item">
<h4>
Level 2.1
</h4>
<ul class="list-group">
<li class="list-group-item">
Item 2.1.1
</li>
<li class="list-group-item">
Item 2.1.2
</li>
<li class="list-group-item">
Item 2.1.3
</li>
</ul>
</li>
<li class="list-group-item">
<h4>
Level 2.2
</h4>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
答案 2 :(得分:6)
由于glyphicons不再是Bootstrap的一部分,我修改了Marcos的回答以使用Bootstrap 4(以及强大的图标)。主要变化是:
list-group-item
.collapse {
display: none;
&.show {
display: block;
}
}
答案 3 :(得分:3)
单程
<div class="container">
<div class="row">
<div class="col-xs-12">
<ul class="list-group">
<li class="list-group-item">One</li>
<li class="list-group-item">Two
<ul class="list-group inner">
<li class="list-group-item">Item 2a</li>
<li class="list-group-item">Item 2b</li>
</ul>
</li>
<li class="list-group-item">Three
<ul class="list-group inner">
<li class="list-group-item">Item 3a</li>
<li class="list-group-item">Item 3b</li>
</ul>
</li>
</ul>
</div>
</div>
<style>
.list-group.inner li{
border:none;
}
</style>
答案 4 :(得分:0)
Bootstrap 4更新
我希望能够在Bootstrap 4中使用它。希望这对其他人有帮助。
这是使用字体棒的代码(因为V4不支持字形)。
HTML
<div class="just-padding">
<div class="list-group list-group-root card">
<a href="#item-1" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i></i>Item 1
</a>
<div class="list-group collapse" id="item-1">
<a href="#item-1-1" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 1.1
</a>
<div class="list-group collapse" id="item-1-1">
<a href="#" class="list-group-item">Item 1.1.1</a>
<a href="#" class="list-group-item">Item 1.1.2</a>
<a href="#" class="list-group-item">Item 1.1.3</a>
</div>
<a href="#item-1-2" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 1.2
</a>
<div class="list-group collapse" id="item-1-2">
<a href="#" class="list-group-item">Item 1.2.1</a>
<a href="#" class="list-group-item">Item 1.2.2</a>
<a href="#" class="list-group-item">Item 1.2.3</a>
</div>
<a href="#item-1-3" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 1.3
</a>
<div class="list-group collapse" id="item-1-3">
<a href="#" class="list-group-item">Item 1.3.1</a>
<a href="#" class="list-group-item">Item 1.3.2</a>
<a href="#" class="list-group-item">Item 1.3.3</a>
</div>
</div>
<a href="#item-2" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 2
</a>
<div class="list-group collapse" id="item-2">
<a href="#item-2-1" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 2.1
</a>
<div class="list-group collapse" id="item-2-1">
<a href="#" class="list-group-item">Item 2.1.1</a>
<a href="#" class="list-group-item">Item 2.1.2</a>
<a href="#" class="list-group-item">Item 2.1.3</a>
</div>
<a href="#item-2-2" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 2.2
</a>
<div class="list-group collapse" id="item-2-2">
<a href="#" class="list-group-item">Item 2.2.1</a>
<a href="#" class="list-group-item">Item 2.2.2</a>
<a href="#" class="list-group-item">Item 2.2.3</a>
</div>
<a href="#item-2-3" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 2.3
</a>
<div class="list-group collapse" id="item-2-3">
<a href="#" class="list-group-item">Item 2.3.1</a>
<a href="#" class="list-group-item">Item 2.3.2</a>
<a href="#" class="list-group-item">Item 2.3.3</a>
</div>
</div>
<a href="#item-3" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 3
</a>
<div class="list-group collapse" id="item-3">
<a href="#item-3-1" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 3.1
</a>
<div class="list-group collapse" id="item-3-1">
<a href="#" class="list-group-item">Item 3.1.1</a>
<a href="#" class="list-group-item">Item 3.1.2</a>
<a href="#" class="list-group-item">Item 3.1.3</a>
</div>
<a href="#item-3-2" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 3.2
</a>
<div class="list-group collapse" id="item-3-2">
<a href="#" class="list-group-item">Item 3.2.1</a>
<a href="#" class="list-group-item">Item 3.2.2</a>
<a href="#" class="list-group-item">Item 3.2.3</a>
</div>
<a href="#item-3-3" class="list-group-item" data-toggle="collapse">
<i class="fas fa-angle-right mr-2"></i>Item 3.3
</a>
<div class="list-group collapse" id="item-3-3">
<a href="#" class="list-group-item">Item 3.3.1</a>
<a href="#" class="list-group-item">Item 3.3.2</a>
<a href="#" class="list-group-item">Item 3.3.3</a>
</div>
</div>
</div>
CSS
.just-padding {
padding: 15px;
}
.list-group.list-group-root {
padding: 0;
overflow: hidden;
}
.list-group.list-group-root .list-group {
margin-bottom: 0;
}
.list-group.list-group-root .list-group-item {
border-radius: 0;
border-width: 1px 0 0 0;
}
.list-group.list-group-root > .list-group-item:first-child {
border-top-width: 0;
}
.list-group.list-group-root > .list-group > .list-group-item {
padding-left: 30px;
}
.list-group.list-group-root > .list-group > .list-group > .list-group-item {
padding-left: 45px;
}
.list-group-item .glyphicon {
margin-right: 5px;
}
JavaScript
$(function() {
$('.list-group-item').on('click', function() {
$('.fas', this)
.toggleClass('fa-angle-right')
.toggleClass('fa-angle-down');
});
});