Erstellen Sie eine responsive navbar, sidebar "Schublade" in der Bootstrap-4?
Versuchen, etwas zu erreichen wie diese : https://www.muicss.com/examples/v1/example-layouts/responsive-side-menu/index.html
Ich habe gesehen, wie einige Beispiele online mit anderen Versionen von bootstrap, aber Sie alle ändern der css zu viel, das macht es schwieriger, zu lernen bootstrap.
Ich Frage mich, wenn in der Bootstrap-4 diese kann getan werden, mithilfe von tools wie Zusammenbruch, gestapelte Pillen, flexbox?
Dies ist, was ich erreichen konnte : https://jsfiddle.net/kL9u6esw/20/
Was fehlt aus meiner Jsfiddle :
- Nicht richtig reagieren
- Die navbar nicht scrollen richtig mit der klebrigen Klasse
- Auf die Menü-Taste ist nicht klebrig, obwohl ich die Klasse.
- Einem dunklerem hintergrund, obwohl nicht notwendig, für die Antwort, wäre toll
In meinem Beispiel konnte ich nicht herausfinden, wie legen Sie eine Navigationsleiste, nicht sicher, ob seine notwendig, um es richtig zu reagieren.
Auch nicht sicher, ob Sie als a-Säulen ist der richtige Weg, es zu tun, sollte es nicht off-canvas?
Html-code :
<div class="container-fluid h-100">
<div class="row h-100">
<div class="col-5 col-md-3 collapse m-0 p-0 h-100 bg-dark" id="collapseExample">
<ul class="nav flex-column navbar-dark sticky-top">
<li class="nav-item">
<a class="nav-link active" href="#">Active</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
<div class="col">
<div class="row">
<div class="col-12">
<button class="btn sticky-top" data-toggle="collapse" href="#collapseExample" role="button">
Menu
</button>
</div>
<div class="col-12">
Lorem...
</div>
</div>
</div>
</div>
</div>
- Öffnen werde ich ein Kopfgeld zu akzeptieren, mehr vollständige Antworten, die näher an dem verlinkten Beispiel in Frage
- Welche Aspekte genau sind Sie derzeit fehlen von den vorgeschlagenen Lösungen? Was brauchen Sie, um eine Lösung/Antwort mehr vollständig oder ideal für Sie?
- Ich denke, meine Antwort beantwortet die ursprünglichen Fragen. "kann getan werden, mithilfe von tools wie Zusammenbruch, gestapelte Pillen, flexbox?... Ich konnte nicht herausfinden, wie legen Sie einen navbar". Jetzt, dass Sie begonnen haben, ein bounty, bitte Bearbeiten Sie die Frage so erklären, was Sie erwarten.
- Wo hast den hintergrund dimmer her?
- mobile-responsive-version des Beispiels
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sidebar navs können sehr Komplex sein. Dies ist der Grund, warum Bootstrap nicht mit einem "out-of - the-box" - Komponente. Es gibt viele überlegungen für die Seitenleisten:
In dieser "sidebar" Fall... anstatt
col-auto
auf der rechten Spalte verwendencol
. So wird füllen die Breite, wenn das Menü ausgeblendet ist: https://jsfiddle.net/0rhyzu7o/, Um die animation ein wenig glatter, müssen Sie überschreiben Bootstrap stürzt übergang, die normalerweise arbeitet auf der HöheEDIT:
Basiert auf der bounty Anfrage, ich aktualisiert die sidebar mit 2 weitere Beispiele. Diese sind näher an den Beispiel, und vor allem die Verwendung von Bootstrap-Klassen.
Minimal-version
Diese version ist näher an dem Beispiel, und hat die gleiche Folie Links/rechts "Schublade" - animation.
Demo-minimal-version: https://www.codeply.com/go/w1AMD1EY3c
Vollversion (sehr in der Nähe der Beispiel):
Diese sidebar-Funktionen:
Diese volle version erfordert ein wenig mehr CSS, aber bei einigen ist es optional...
HTML:
Demo Vollversion: https://www.codeply.com/go/XJE8LOdX8k
Sowohl die minimal und robust Beispiele sind viel näher an der original-Beispiel. Es ist einfach, um Farbe zu ändern und ändern Sie die Stile. Hier ist eine andere Variante mit der sidebar überlagerung der toggle-Leiste an der Spitze.
Siehe auch: Bootstrap Navbar Collapse Overlay Sidebar
Also hier ist eine mögliche Lösung zu den Punkten 1-3.
Den Schlüssel zu Lösung #1 wurde zur Verfügung gestellt von @zimsystem:
"Statt mit col-auto auf der rechten Spalte verwenden, col. So wird füllen die Breite, wenn das Menü ausgeblendet ist."
Zu lösen #2, die Sie benötigen, um loszuwerden, der h-100 in der ersten Zeile und Spalte:
(dies ist nicht der richtige code, ich kenn die Klassen, die Sie löschen müssen, um mit Sternchen)
Sobald Sie dies tun, wird der Menü-Spalte wird gestreckt, um die volle Länge der content-Spalte.
Zu lösen #3, Sie müssen nur ziehen Sie die Schaltfläche aus einem sub-Spalte, in die Haupt-Spalte. Es war eingeschnappt in die mini-Spalte, die Sie hatte, zugeordnet.
Zusätzlich habe ich noch etwas CSS für das Menü in den Fall, Sie am Ende mit mehr links als in dem Beispiel, so dass Sie dann die scroll-richtig, wenn die Liste zu lang für Ihren Bildschirm.
Den vollständigen code für diese Antwort ist hier:
CSS:
HTML:
Lassen Sie mich wissen, wie es geht!