gpt4 book ai didi

jquery - 使 Bootstrap 3 选项卡响应式

转载 作者:行者123 更新时间:2023-12-03 21:33:59 26 4
gpt4 key购买 nike

目前,当您在 Bootstrap 3 中设置选项卡时,选项卡不响应。

这个:

enter image description here

变成这样:

enter image description here

CSS。修复它的外观很容易,只需在最大宽度处删除 float 等即可。但是,内容与选项卡脱节,因此一堆选项卡将像选项卡一样工作,但在较小的视口(viewport)上,您可能会或可能不会看到内容的更改。

<小时/>

这是制作选项卡式导航的基本 html:

      <!--begin tabs going in wide content -->
<ul class="nav nav-tabs" id="maincontent" role="tablist">
<li class="active"><a href="#home" role="tab" data-toggle="tab">Home</a></li>
<li><a href="#profile" role="tab" data-toggle="tab">Profile</a></li>
<li class="dropdown">
<a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
<li><a href="#dropdown1" tabindex="-1" role="tab" data-toggle="tab">@fat</a></li>
<li><a href="#dropdown2" tabindex="-1" role="tab" data-toggle="tab">@mdo</a></li>
</ul>
</li>
</ul><!--/.nav-tabs.content-tabs -->


<div class="tab-content">

<div class="tab-pane fade in active" id="home">
<p>Home Content : ...</p>
</div><!--/.tab-pane -->

<div class="tab-pane fade" id="profile">
<p>Profile Content : ...</p>
</div><!--/.tab-pane -->

<div class="tab-pane fade" id="dropdown1">
<p>Dropdown1 - ...</p>
</div><!--/.tab-pane -->

<div class="tab-pane fade" id="dropdown2">
<p>Dropdown 2 - ...</p>
</div><!--/.tab-pane -->

</div><!--/.tab-content -->

如何将选项卡变成折叠式或折叠式,以使其适合小视口(viewport)?

最佳答案

Slack 有一种很酷的方法,可以在某些管理页面上使选项卡适合小视口(viewport)。我使用 bootstrap 做了类似的东西。这是一种选项卡 → 下拉菜单。

演示:http://jsbin.com/nowuyi/1

这是它在大视口(viewport)上的样子: as tabs

这是它在小视口(viewport)上折叠的样子:

collapsed dropdown

这是它在小视口(viewport)上展开的样子:

open dropdown

HTML 与默认 Bootstrap 选项卡完全相同。

有一个小的 JS 片段,需要 jquery(并将两个 span 元素插入到 DOM 中):

$.fn.responsiveTabs = function() {
this.addClass('responsive-tabs');
this.append($('<span class="glyphicon glyphicon-triangle-bottom"></span>'));
this.append($('<span class="glyphicon glyphicon-triangle-top"></span>'));

this.on('click', 'li.active > a, span.glyphicon', function() {
this.toggleClass('open');
}.bind(this));

this.on('click', 'li:not(.active) > a', function() {
this.removeClass('open');
}.bind(this));
};

$('.nav.nav-tabs').responsiveTabs();

然后还有很多 css(更少):

@xs: 768px;


.responsive-tabs.nav-tabs {
position: relative;
z-index: 10;
height: 42px;
overflow: visible;
border-bottom: none;

@media(min-width: @xs) {
border-bottom: 1px solid #ddd;
}

span.glyphicon {
position: absolute;
top: 14px;
right: 22px;
&.glyphicon-triangle-top {
display: none;
}
@media(min-width: @xs) {
display: none;
}
}

> li {
display: none;
float: none;
text-align: center;

&:last-of-type > a {
margin-right: 0;
}

> a {
margin-right: 0;
background: #fff;
border: 1px solid #DDDDDD;

@media(min-width: @xs) {
margin-right: 4px;
}
}

&.active {
display: block;
a {
@media(min-width: @xs) {
border-bottom-color: transparent;
}
border: 1px solid #DDDDDD;
border-radius: 2px;
}
}

@media(min-width: @xs) {
display: block;
float: left;
}

}

&.open {

span.glyphicon {
&.glyphicon-triangle-top {
display: block;
@media(min-width: @xs) {
display: none;
}
}
&.glyphicon-triangle-bottom {
display: none;
}
}

> li {
display: block;

a {
border-radius: 0;
}

&:first-of-type a {
border-radius: 2px 2px 0 0;
}
&:last-of-type a {
border-radius: 0 0 2px 2px;
}
}
}
}

关于jquery - 使 Bootstrap 3 选项卡响应式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25855428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com