Wie kann ich scrollbare Spalten in Bootstrap erstellen?

Lesezeit: 5 Minuten

Benutzeravatar von Halnex
Halnex

Ich habe eine neue Vorlagendatei erstellt template-home2.php in einem WordPress-Theme.

Darin habe ich eine Zeile mit 3 Spalten, ich möchte jede dieser Spalten scrollbar machen, anstatt die gesamte Seite. Wie kann ich das erreichen?

ich habe ein klasse scrollable die ich auf den äußeren Bereich der Seite anwende, um sie scrollbar zu machen.

<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>

Wenn ich die Klasse „scrollable“ aus dem Hauptabschnitt entferne und sie in die Spalte div einfüge, verschwindet die Spalte und die anderen 2 Spalten laufen auf den darunter liegenden Elementen über.

Dies ist das relevante 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;
}

Danke für Ihre Hilfe.

AKTUALISIERTER CODE

.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>

  • Können Sie bitte eine JS-Geige bereitstellen, nicht ganz sicher, was Sie erreichen möchten

    – Tom Withers

    26. Januar 2016 um 22:27 Uhr

  • Es wird schwierig sein, es in jsfiddle zum Laufen zu bringen. Aber würde eine Live-URL zur Website die Aufgabe erfüllen?

    – Halnex

    26. Januar 2016 um 22:50 Uhr

  • ja das würde funktionieren

    – Tom Withers

    26. Januar 2016 um 22:53 Uhr

  • @GuruTom Sie können sich das komplette Layout hier ansehen: utopic.vision/html – Im Moment habe ich der ersten Spalte die Klasse “scrollable” hinzugefügt, und deshalb ist sie unsichtbar.

    – Halnex

    26. Januar 2016 um 23:18 Uhr

  • ahh, Okay, Sie möchten also, dass jeder Block (Spalte) scrollbar ist?

    – Tom Withers

    26. Januar 2016 um 23:31 Uhr

Benutzeravatar von Tom Withers
Tom Withers

Um dies zu erreichen, müssen Sie zuerst jeder Spalte ein a geben class. Dann müssen Sie ihnen die folgenden Eigenschaften geben:

.your-class {
    position: absolute;
    overflow-y: scroll;
}

Vielleicht möchten Sie auch Ihre geben body die Eigenschaft overflow: hidden;

Bitte sagen Sie mir, ob das funktioniert, und wenn nicht, helfe ich weiter!

Bearbeiten: Erstellt ein JSFiddle

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

  • Diese – derzeit akzeptierte Antwort – ist keine gute Idee. Dies wird – vollständig – die Reaktionsfähigkeit Ihres Bootstrap-Layouts zerstören. Hätte es wissen müssen, sobald ich “Position: Absolute” gesehen habe.

    Benutzer8588978

    10. Januar 2018 um 2:27 Uhr

  • Sobald die Seite in einer Breite betrachtet wird, die dazu führt, dass sich die Spalten entsprechend verschieben, werden die sich verschiebenden Spalten unter den verbleibenden Spalten verborgen.

    Benutzer8588978

    10. Januar 2018 um 4:44 Uhr

  • @stnfordly Mit der absolute position wird die Reaktionsfähigkeit von Bootstrap 3 nicht vollständig zerstören, wenn Sie es innerhalb des Elements korrekt handhaben. Bitte recherchieren Sie, bevor Sie versuchen, die Antwort von jemandem abzuschießen. Dieses Thema ist fast ein Jahr alt. Eine neue Version von Bootstrap ist herausgekommen, die Sie sich ansehen sollten, da es neue Möglichkeiten gibt, dies zu tun.

    – Tom Withers

    10. Januar 2018 um 9:21 Uhr

  • @ThomasWithers ein Link zu den neuen Wegen wäre nützlich gewesen

    – AKrush95

    8. August 2018 um 16:40 Uhr

  • @NoChance überprüfen Sie dies für Bootstrap 4: stackoverflow.com/questions/47649920/…

    – Eroz

    24. Juni 2019 um 14:00 Uhr


Die folgende Antwort https://stackoverflow.com/a/53897001/11620296 zeigt eine Lösung mit Bootstrap 4, die für mich perfekt funktioniert. Es hat Demo aktualisiert https://www.codeply.com/go/ouc3hddx5i

Code:

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>

css

html,body {
    height: 100%;
}

1404860cookie-checkWie kann ich scrollbare Spalten in Bootstrap erstellen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy