Bei einer neuen Bootstrap-Website, an der ich gerade arbeite, sortiere ich die aktive Registerkarte, wenn die Registerkarte "nav-tab" ausgewählt ist, sodass die ausgewählte Registerkarte immer mit der Registerkarte verbunden ist. Während das funktioniert, fühlt es sich für mich wie ein Hack an. Gibt es eine bessere Möglichkeit, das zu erreichen, die die ursprüngliche Tab-Reihenfolge beibehält?Zurücksetzen der aktiven Bootstrap-Registerkarte beim Stapeln
HTML-Markup:
<div id="tab-bundle" class="container-fluid">
@Html.HiddenFor(model => model.SelectedBundle)
<ul class="nav nav-tabs" id="coverageTabs">
<li><a href="#Minimum">@LanguageDb.Me.Minimum</a></li>
<li><a href="#Better">@LanguageDb.Me.Better</a></li>
<li><a href="#Best">@LanguageDb.Me.Best</a></li>
<li><a href="#Custom">@LanguageDb.Me.Custom</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active bg-info" id="ajaxPanel">
@Html.Partial("SelectedBundle", Model)
</div>
</div>
</div>
Javascript:
$(document).ready(function() {
var updateCoverage = function (e) {
e.preventDefault();
var $tab = $(this);
$('#SelectedBundle').val($(this).attr("href").substr(1));
$('#coverageTabs a').css({ backgroundColor: "", color: "" });
// ajax omitted for brevity
$tab.tab('show').css('background-color', $('#ajaxPanel').css('background-color')).css('color', $('#ajaxPanel').css('color'));
if ($('#coverageTabs').width() < 768) {
$tab.closest('li').appendTo('#coverageTabs');
}
};
$('a[href=#' + $('#SelectedBundle').val() + ']').tab('show').css('background-color', $('#ajaxPanel').css('background-color')).css('color', $('#ajaxPanel').css('color')); ;
$('#coverageTabs a').click(updateCoverage);
});
Screenshot (die Mindest Registerkarte bemerken hat bis zum Ende bewegt):
Ich hatte eine Chance, dies auszuprobieren und entdeckte, dass die Änderung von ul zu zeigen: flex verhindert Bootstrap vom Stapeln der Registerkarten. Dies ist immer noch hilfreich, aber da einige erwartete Bootstrap-Funktionen entfernt wurden, musste ich sie als akzeptierte Antwort entfernen. – B2K
Entschuldigung. Ich werde dies beim nächsten Mal berücksichtigen, wenn ich eine Flexbox-Lösung für eine Bootstrap-bezogene Frage in Betracht ziehe. –
Gefunden eine Lösung '@media Bildschirm und (max-width: 768px) {ul {flex-Richtung: Spalte;}}' – B2K