Search code examples
htmlcssbootstrap-4react-bootstrap

Bootstrap row causes horizontal scrollbar


I have a problem:

I want to create a chatwebapp and use Bootstrap for the layout. Unfortunatelly with the following code i get a horizonatl scrollbar that shouldnt be there. I use columns and rows and i know there is a padding within the bootstrap css but when i try to remove it, nothing really happens and the scrollbar stays there. Maybe you guys can help me with that.

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
    </head>
    <body>
    
    <div>
            <div class="row">
              <div class="col-md-12">
                <div>
                <nav class="navbar navbar-expand-lg navbar-light bg-light">
                    <a class="navbar-brand" href="#">
                        Navbar w/ text
              </a>
                    <button
                        class="navbar-toggler"
                        type="button"
                        data-toggle="collapse"
                        data-target="#navbarText"
                        aria-controls="navbarText"
                        aria-expanded="false"
                        aria-label="Toggle navigation"
                    >
                        <span class="navbar-toggler-icon"></span>
                    </button>
                    <div class="collapse navbar-collapse" id="navbarText">
                        <ul class="navbar-nav mr-auto">
                            <li class="nav-item active">
                                <a class="nav-link" href="#">
                                    Home <span class="sr-only">(current)</span>
                                </a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link" href="#">
                                    Features
                    </a>
                            </li>
                            <li class="nav-item">
                                <a class="nav-link" href="#">
                                    Pricing
                    </a>
                            </li>
                        </ul>
                        <span class="navbar-text">Navbar text with an inline element</span>
                    </div>
                </nav>
            </div>
                <div class="container-fluid">
                <div class="row">
                  <div class="col-md-4 bg-success">
                     <div>
                <div class="row m-1">
                    <div class="col-md-11">
                        Chats
                          </div>
                    <div class="col-md-1">
                        <i class="fas fa-plus-circle"></i>
                    </div>
                </div>
                <div class="row mb-2">
                    <div class="col-md-12">
                        <form class="form-inline" style={{ height: "0%", width: "100%", paddingLeft: "0", paddingRight: "0", paddingTop: "8px" }}>
                            <input class="form-control  mr-sm-1" style={{ width: "80%" }} type="search" placeholder="Suchen" aria-label="Search" />
                            <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Suchen</button>
                        </form>
                    </div>
                </div>
                <div class="row">
                    <div class="col-md-12">
                        <div class="list-group">
                             <div>
                <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
                    <div class="d-flex w-100 justify-content-between">
                        <h5 class="mb-1">List group item heading</h5>
                        <small>3 days ago</small>
                    </div>
                    <div class="row">
                        <div class="col-md-11">Donec id elit non mi porta...
                        </div>
                        <div class="col-md-1">
                            <span class="badge badge-primary badge-pill text-right">5</span>
                        </div>
                    </div>
                </a>
            </div>
                        </div>
                    </div>
                </div>
            </div>
                  </div>
                  <div class="col-md-8 bg-primary">
                     <div>
                <div class="row ">
                    <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">
                        
                        <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                            <div class="row">
                                <div class="col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2">
                                    <img class="image-head-chat" alt="Responsive image" />
                                </div>
      
                                <div class="col-8 col-sm-8 col-md-8 col-lg-8 col-xl-8">
                                    Text
                                </div>
    
                                <div class="col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2">
                                    Icons
                                </div>
    
                                </div>
                            </div>
                     
    
                        <div class="row">
                            <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                                Nachrichten
                            </div>
                        </div>
    
                        <div class="row">
                            <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                                Eingabe
                                <div class="row">
                                       Form
                                </div>
                            </div>
                        </div>
    
                    </div>
                </div>
            </div>
                </div>
                </div>
              </div>
            </div>
          </div>
        </div>


Solution

  • Set the margin of the row to auto by adding the class m-auto.

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
      <title>Bootstrap Example</title>
      <meta charset="utf-8">
      <meta name="viewport" content="width=device-width, initial-scale=1">
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
    </head>
    
    <body>
    
      <div>
        <div class="row m-auto">
          <div class="col-md-12 p-0">
            <div>
              <nav class="navbar navbar-expand-lg navbar-light bg-light">
                <a class="navbar-brand" href="#">
                            Navbar w/ text
                  </a>
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarText" aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
                            <span class="navbar-toggler-icon"></span>
                        </button>
                <div class="collapse navbar-collapse" id="navbarText">
                  <ul class="navbar-nav mr-auto">
                    <li class="nav-item active">
                      <a class="nav-link" href="#">
                                        Home <span class="sr-only">(current)</span>
                                    </a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">
                                        Features
                        </a>
                    </li>
                    <li class="nav-item">
                      <a class="nav-link" href="#">
                                        Pricing
                        </a>
                    </li>
                  </ul>
                  <span class="navbar-text">Navbar text with an inline element</span>
                </div>
              </nav>
            </div>
            <div class="container-fluid">
              <div class="row">
                <div class="col-md-4 bg-success">
                  <div>
                    <div class="row m-1">
                      <div class="col-md-11">
                        Chats
                      </div>
                      <div class="col-md-1">
                        <i class="fas fa-plus-circle"></i>
                      </div>
                    </div>
                    <div class="row mb-2">
                      <div class="col-md-12">
                        <form class="form-inline" style={{ height: "0%", width: "100%", paddingLeft: "0", paddingRight: "0", paddingTop: "8px" }}>
                          <input class="form-control  mr-sm-1" style={{ width: "80%" }} type="search" placeholder="Suchen" aria-label="Search" />
                          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Suchen</button>
                        </form>
                      </div>
                    </div>
                    <div class="row">
                      <div class="col-md-12">
                        <div class="list-group">
                          <div>
                            <a href="#" class="list-group-item list-group-item-action flex-column align-items-start">
                              <div class="d-flex w-100 justify-content-between">
                                <h5 class="mb-1">List group item heading</h5>
                                <small>3 days ago</small>
                              </div>
                              <div class="row">
                                <div class="col-md-11">Donec id elit non mi porta...
                                </div>
                                <div class="col-md-1">
                                  <span class="badge badge-primary badge-pill text-right">5</span>
                                </div>
                              </div>
                            </a>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                </div>
                <div class="col-md-8 bg-primary">
                  <div>
                    <div class="row ">
                      <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 ">
    
                        <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                          <div class="row">
                            <div class="col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2">
                              <img class="image-head-chat" alt="Responsive image" />
                            </div>
    
                            <div class="col-8 col-sm-8 col-md-8 col-lg-8 col-xl-8">
                              Text
                            </div>
    
                            <div class="col-2 col-sm-2 col-md-2 col-lg-2 col-xl-2">
                              Icons
                            </div>
    
                          </div>
                        </div>
    
    
                        <div class="row">
                          <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                            Nachrichten
                          </div>
                        </div>
    
                        <div class="row">
                          <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                            Eingabe
                            <div class="row">
                              Form
                            </div>
                          </div>
                        </div>
    
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>