Arup
Arup

Reputation: 235

Bootstrap 14 columns with a horizontal slider/scrollbar

I have 14 columns in a row, but bootstrap allows only 12, rest 2 columns are coming down. I want all 14 columns in one row with a horizontal slider or scroll.

I searched for solutions online but they aren't working in my scenario. So finally landed here for a brainstorming.

    <div class="container">
    <div class="row">
        <div class="col-xs-2">1</div>
        <div class="col-xs-2">2</div>
        <div class="col-xs-2">3</div>
        <div class="col-xs-2">4</div>
        <div class="col-xs-2">5</div>
        <div class="col-xs-2">6</div>
        <div class="col-xs-2">7</div>
        <div class="col-xs-2">8</div>
        <div class="col-xs-2">9</div>
        <div class="col-xs-2">10</div>
        <div class="col-xs-2">11</div>
        <div class="col-xs-2">12</div>
        <div class="col-xs-2">13</div>
        <div class="col-xs-2">14</div>
    </div>
</div>

Upvotes: -1

Views: 531

Answers (1)

Rich DeBourke
Rich DeBourke

Reputation: 3433

You could use auto-layout columns to have more than 12 columns, and apply overflow-x-scroll and flex-nowrap to the row to be able to scroll horizontally through the columns.

To keep the columns from shrinking to fit, you can give them a custom class with no flex and a fixed width to fit your content.

.col-14 {
    flex: none;
    width: 120px !important;
}
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"/>

<nav class="navbar sticky-top navbar-expand-md bg-body-tertiary">
    <div class="container-fluid">
        <a class="navbar-brand" href="#">Navbar</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNavAltMarkup">
            <div class="navbar-nav">
                <a class="nav-link active" aria-current="page" href="../../index.html">Home</a>
                <a class="nav-link" href="./products.html">Products</a>
                <a class="nav-link" href="./about.html">About us</a>
                <a class="nav-link" href="./contact.html">Contact</a>
            </div>
        </div>
    </div>
</nav>

<main class="container">
    <div class="row flex-nowrap text-center overflow-x-scroll">
        <div class="col-14">1</div>
        <div class="col-14">2</div>
        <div class="col-14">3</div>
        <div class="col-14">4</div>
        <div class="col-14">5</div>
        <div class="col-14">6</div>
        <div class="col-14">7</div>
        <div class="col-14">8</div>
        <div class="col-14">9</div>
        <div class="col-14">10</div>
        <div class="col-14">11</div>
        <div class="col-14">12</div>
        <div class="col-14">13</div>
        <div class="col-14">14</div>
    </div>
</main>

Upvotes: 1

Related Questions