Please see this fiddle. Ich habe ein Hauptinhaltsdiv und eine Seitenleiste, die ich an den oberen Rand der Seite angehängt werden soll, während der Benutzer scrollt. Alles funktioniert gut, außer wenn es in Mobile betrachtet wird:Bootstrap-Affix verwenden, während reaktionsfähiges Spaltenlayout beibehalten wird
Ohne die Affix-Sachen verhalten sich die Spalten wie Bootstrap-Spalten sollten und die Seitenleiste direkt unter dem Haupt-Div. Aber mit Affix verschwindet das div einfach.
Ich habe irgendwie fixiert dies eine Medien Abfrage:
//Override affix on small screens:
@media (max-width: 750px) {
.affix {
position: static;
}
}
Damit liegt der div, wo es auf kleinen Bildschirmen sein sollte, und kehrt zum Affix-Layout auf Desktops. Es gibt jedoch eine Leere in der Mitte, wo sie einfach verschwindet. Wenn Sie das Fenster in die Mitte ziehen, verschwindet es, und dann werden die Bereiche in der richtigen Position wiederholt, während das Fenster noch kleiner gezogen wird. Ich habe versucht, den 750px
Wert zu justieren, aber war nicht in der Lage, mit einer Zahl zu kommen, die wirklich funktioniert.
Wie kann ich das Rasterlayout und den Affix-Schalter ein- und ausschalten? Woher weiß ich, wo der Breakpoint sein wird - sollte ich die Verwendung einer bestimmten Anzahl von PX vermeiden und einen anderen Ansatz für dieses Problem wählen?
Mein aktuelles Bootstrap-Layout ist (ich hinzugefügt habe die height:500px
so können Sie das Scroll-Verhalten in JS Fiddle sehen - es ist in meinem eigentlichen Code nicht vorhanden ist):
<div class="container-fluid">
<div class="row" id="content">
<div class="col-md-8" style="height:500px">
Main content
</div>
<div class="col-md-4">
<div class="affix" data-spy="affix" data-offset-top="0">
Side content
</div>
</div>
</div>
</div>
Vielen Dank