Wie verwenden von CSS position klebrig zu halten, eine Seitenleiste sichtbar mit Bootstrap 4

Ich habe zwei Spalten-layout wie dieses:

 <div class="row">
    <div class="col-xs-8 content"> 
    </div>
    <div class="col-xs-4">
    </div>
 </div>

Wenn ich die position:sticky auf die sidebar-Spalte, bekomme ich die klebrige Verhalten der sidebar: https://codepen.io/marcanuy/pen/YWYZEp

CSS:

.sticky {
  position: sticky;
  top: 10px;
}

HTML:

 <div class="row">
    <div class="col-xs-8 content"> 
    </div>
    <div class="col-xs-4 sticky">
    </div>
 </div>

Aber wenn ich die sticky Eigenschaft nur der Menü, die sich in der Seitenleiste, so dass die Verwandte Artikel Abschnitt scrollt normal und bekommt die sticky Verhalten mit der Menü div, es funktioniert nicht:

 <div class="row">
    <div class="col-xs-8 content"> 
    </div>
    <div class="col-xs-4">
       <div class="menu sticky">
       </div>
    </div>
 </div>

Dies ist der screencast das erste Beispiel das scrollen über die ganze sidebar mit einer klebrigen Verhalten, und dann ändern Sie die klebrige Eigenschaft, um das Menü, das nicht funktioniert:

Wie verwenden von CSS position klebrig zu halten, eine Seitenleiste sichtbar mit Bootstrap 4

Bootstrap-4 empfiehlt die sticky Eigenschaft als fiel die Unterstützung für das Anbringen jQuery-plugin:

Fiel das Affix jQuery-plugin. Wir empfehlen die Verwendung von position: sticky polyfill statt.

Habe ich es getestet in:

  • Firefox 47.0 mit css.sticky.enabled=“true” unter about:config

  • Chrome 50.0.2661.94 (64-bit) mit experimental Web Platform features aktiviert chrome://flags

(Dies ist kein Duplikat von Wie man einen sticky-sidebar im Bootstrap? da, dass man mit BS anbringen kann)

  • Sind Sie versuchen, so etwas wie das - codepen.io/nagasai/pen/NAXgXQ
  • Nein, ich will das sticky-Effekt hier beschrieben: developer.mozilla.org/en/docs/Web/CSS/position Statt der Briefe, die sidebar sollte mit einer relativen position und wechseln Sie dann zu einem fest ein.
  • also kein jQuery oder javascript?
  • Kein javascript, nur mit der nativen browser - position:sticky unterstützen.
InformationsquelleAutor marcanuy | 2016-07-14
Schreibe einen Kommentar