Używając Bootstrap, mam klasę kolumny siatki = "col-lg-3", którą chcę umieścić na miejscu: ustalona, podczas gdy druga .col-lg-9 jest normalną pozycją (można przewijać stronę).
<div class="row">
<div class="col-lg-3">
Fixed content
</div>
<div class="col-lg-9">
Normal scrollable content
</div>
</div>
Tak samo jak lewa kolumna w LifeHacker.com Zobaczysz, że lewa część jest naprawiona, ale przewijam stronę.
Używam bootstrap 3.1.1
Odpowiedzi:
<div class="row"> <div class="col-lg-3"> <div class="affix"> fixed position </div> </div> <div class="col-lg-9"> Normal data enter code here </div> </div>
źródło
fixed
diviterując po odpowiedzi Ihab, używając tylko
position:fixed
i bootstrapówcol-offset
, nie musisz być konkretny co do szerokości.<div class="row"> <div class="col-lg-3" style="position:fixed"> Fixed content </div> <div class="col-lg-9 col-lg-offset-3"> Normal scrollable content </div> </div>
źródło
style="position:fixed;height:100%;overflow-y:auto;"
.offset-lg-3
. getbootstrap.com/docs/4.0/layout/grid/#offsetting-columnsPostępując zgodnie z rozwiązaniem tutaj http://jsfiddle.net/dRbe4/ ,
<div class="row"> <div class="col-lg-3 fixed"> Fixed content </div> <div class="col-lg-9 scrollit"> Normal scrollable content </div> </div>
Zmodyfikowałem niektóre css, aby działały idealnie:
.fixed { position: fixed; width: 25%; } .scrollit { float: left; width: 71% }
Dzięki @Lowkase za udostępnienie rozwiązania.
źródło
w Bootstrap 3
class="affix"
działa, ale w Bootstrap 4 nie. Rozwiązałem ten problem w Bootstrap 4 zclass="sticky-top"
(używanieposition: fixed
w CSS ma swoje własne problemy)kod będzie wyglądał mniej więcej tak:
<div class="row"> <div class="col-lg-3"> <div class="sticky-top"> Fixed content </div> </div> <div class="col-lg-9"> Normal scrollable content </div> </div>
źródło
position-fixed
pracował również nad przyklejeniem kolumny do góry, jednak zawartość kolumny przelewała się.sticky-top
naprawiłem to.Zaktualizowano dla Bootstrap 4
Bootstrap 4 zawiera teraz
position-fixed
klasę do tego celu, więc nie ma potrzeby stosowania dodatkowego CSS ...<div class="container"> <div class="row"> <div class="col-lg-3"> <div class="position-fixed"> Fixed content </div> </div> <div class="col-lg-9"> Normal scrollable content </div> </div> </div>
https://www.codeply.com/go/yOF9csaptw
źródło
Użyj tego, działa dla mnie i rozwiązuj problemy z małym ekranem.
<div class="row"> <!-- (fixed content) JUST VISIBLE IN LG SCREEN --> <div class="col-lg-3 device-lg visible-lg"> <div class="affix"> fixed position </div> </div> <div class="col-lg-9"> <!-- (fixed content) JUST VISIBLE IN NO LG SCREEN --> <div class="device-sm visible-sm device-xs visible-xs device-md visible-md "> <div> NO fixed position </div> </div> Normal data enter code here </div> </div>
źródło
Z bootstrapem 4 po prostu użyj col-auto
<div class="container-fluid"> <div class="row"> <div class="col-sm-auto"> Fixed content </div> <div class="col-sm"> Normal scrollable content </div> </div> </div>
źródło
.container-fluid { flex: 1; }