如何在Bootstrap中创建可滚动列?

Hal*_*nex 12 css wordpress wordpress-theming twitter-bootstrap

template-home2.php在Wordpress主题中创建了一个新的模板文件.

在那里我有一个3列的行,我想使这些列中的每一列都可滚动而不是整个页面.我怎样才能做到这一点?

我有一个类scrollable,我应用于页面的外部部分,使其可滚动.

<section class="<?php if( get_theme_mod( 'hide-player' ) == 0 ){ echo "w-f-md";} ?>" id="ajax-container">
    <section class="hbox stretch bg-black dker">
        <section>
            <section class="vbox">
                <section class="scrollable">
                    <div class="row">
                       <div class="col-md-5 no-padder no-gutter">
                           some data
                       </div>
                       <div class="col-md-4 no-padder no-gutter">
                           some data
                       </div>
                       <div class="col-md-3 no-padder no-gutter">
                           some data
                       </div>
                    </div>
                </section>
            </section>
        </section>
    </section>
</section>
Run Code Online (Sandbox Code Playgroud)

当我从主要部分删除"可滚动"类并将其包含在列div中时,列会消失,其他2列会在下面的元素上溢出.

这是相关的CSS

.scrollable {
  overflow-x: hidden;
  overflow-y: auto;
}
.no-touch .scrollable.hover {
  overflow-y: hidden;
}
.no-touch .scrollable.hover:hover {
  overflow: visible;
  overflow-y: auto;
}
.slimScrollBar {
  border-radius: 5px;
  border: 2px solid transparent;
  border-radius: 10px;
  background-clip: padding-box !important;
}
Run Code Online (Sandbox Code Playgroud)

谢谢您的帮助.

更新的代码

.homecol1, .homecol2, .homecol3 {
    position: absolute;
    overflow-y: scroll;
}

<section class="<?php if( get_theme_mod( 'hide-player' ) == 0 ){ echo "w-f-md";} ?>" id="ajax-container">
    <section class="hbox stretch bg-black dker">
        <section>
            <section class="vbox">
                <section class="scrollable">
                    <div class="row">
                       <div class="col-md-5 no-padder no-gutter homecol1">
                           some data
                       </div>
                       <div class="col-md-4 no-padder no-gutter homecol2">
                           some data
                       </div>
                       <div class="col-md-3 no-padder no-gutter homecol3">
                           some data
                       </div>
                    </div>
                </section>
            </section>
        </section>
    </section>
</section>
Run Code Online (Sandbox Code Playgroud)

Tom*_*ers 9

要实现这一点,您首先需要为每列提供一个class.然后你需要给他们以下属性:

.your-class {
    position: absolute;
    overflow-y: scroll;
}
Run Code Online (Sandbox Code Playgroud)

您可能还想给您body的房产overflow: hidden;

请告诉我这是否有效,如果没有,我会进一步帮助!

编辑:创建一个JSFiddle

https://jsfiddle.net/mjmwaqfp/2/

  • 这 - 目前接受的答案 - 不是一个好主意。这将 - 完全 - 破坏引导程序布局的响应能力。应该一看到“位置:绝对;”就知道了 (6认同)
  • @ThomasWithers指向新方法的链接本来是有用的 (6认同)

Nik*_*lay 5

以下回答/sf/answers/3772790101/显示了 bootstrap 4 的解决方案,它非常适合我。它已更新演示https://www.codeply.com/go/ouc3hddx5i

代码:

html

<div class="container-fluid h-100 d-flex flex-column">
    <div class="row flex-shrink-0">
        <div class="col-12 border">Navbar </div>
    </div>
    <div class="row flex-fill" style="min-height:0">
        <div class="col-2 border mh-100" style="overflow-y: scroll;">Sidebar </div>
        <div class="col-4 border mh-100" style="overflow-y: scroll;">
            Article list
            <p>Sriracha biodiesel taxidermy organic post-ironic, Intelligentsia salvia mustache 90's code editing brunch. Butcher polaroid VHS art party, hashtag Brooklyn deep v PBR narwhal sustainable mixtape swag wolf squid tote bag. Tote bag cronut semiotics,
                raw denim deep v taxidermy messenger bag. Tofu YOLO Etsy, direct trade ethical Odd Future jean shorts paleo. Forage Shoreditch tousled aesthetic irony, street art organic Bushwick artisan cliche semiotics ugh synth chillwave meditation.
                Shabby chic lomo plaid vinyl chambray Vice. Vice sustainable cardigan, Williamsburg master cleanse hella DIY 90's blog.</p>

            <p>Ethical Kickstarter PBR asymmetrical lo-fi. Dreamcatcher street art Carles, stumptown gluten-free Kickstarter artisan Wes Anderson wolf pug. Godard sustainable you probably haven't heard of them, vegan farm-to-table Williamsburg slow-carb
                readymade disrupt deep v. Meggings seitan Wes Anderson semiotics, cliche American Apparel whatever. Helvetica cray plaid, vegan brunch Banksy leggings +1 direct trade. Wayfarers codeply PBR selfies. Banh mi McSweeney's Shoreditch selfies,
                forage fingerstache food truck occupy YOLO Pitchfork fixie iPhone fanny pack art party Portland.</p>

        </div>
        <div class="col-6 border" style="overflow-y: scroll;">Article content </div>
    </div>
    <div class="row flex-shrink-0">
        <div class="col-12 border">Footer </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

css

html,body {
    height: 100%;
}
Run Code Online (Sandbox Code Playgroud)