如何在不设置任何高度的情况下解决此溢出问题?

我已经使用bootstrap4在这个界面上工作了几天,但我无法在没有设置px高度的情况下获得这个div来获得滚动条。还是管理一页设计的指南? 以下是HTML代码的链接。

https://www.codeply.com/p/xm4bUOWFVh

liangongzi 回答:如何在不设置任何高度的情况下解决此溢出问题?

要使flexbox状态内的元素可滚动,可以在flexbox元素内创建一个新容器并将其设置为position: absolute;

希望这会有所帮助。参见下面的示例。

#chat-list {
position: relative;
    overflow-y: scroll;
    height: 100%;
}

.chat-scroll {
  position: absolute;
  top: 0;
  left: 0;
}
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>

<body>
  <div class="container border bg-success w-100" style="height: 95vh;">
    <div class="row h-100">
      <div class="col-md-12">
        <h3>My Whatsapp</h3>
      </div>
      <div class="col-12 col-sm-5 col-md-4 d-flex flex-column border " id="chat-list-area" style="position:relative; ">
        <!-- Navbar -->
        <div class="row d-flex flex-row align-items-center p-2 bg-warning " id="navbar">
          <div class="text-white font-weight-bold">My Chats</div>
          <div class="nav-item dropdown ml-auto">
            <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"><i class="fas fa-ellipsis-v text-white"></i></a>
            <div class="dropdown-menu dropdown-menu-right">
              <a class="dropdown-item" href="#">New Group</a>
              <a class="dropdown-item" href="#">Archived</a>
              <a class="dropdown-item" href="#">Starred</a>
              <a class="dropdown-item" href="#">Settings</a>
              <a class="dropdown-item" href="#">Log Out</a>
            </div>
          </div>
        </div>
        <!-- Chat List -->
        <div class="row" id="chat-list">
          <!-- new container -->
          <div class="chat-scroll">
            <!-- new container -->
            <div class="col-xs-12 w-100 bg-light">
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom active" style="">
                <div class="w-50">
                  <div class="name">Programmers</div>
                  <div class="small last-message">+91 98232 37261: yeah,i'm online</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">28/03/2018</div>
                  <div class="badge badge-success badge-pill small d-none" id="unread-count">2</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom">
                <div class="w-50">
                  <div class="name">Dee</div>
                  <div class="small last-message"><i class="fas fa-check-circle mr-1"></i> if you go to the movie,then give me a call</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">27/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom unread" onclick="">
                <div class="w-50">
                  <div class="name">Jimmy</div>
                  <div class="small last-message"> have you seen infinity war?</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">27/03/2018</div>
                  <div class="badge badge-success badge-pill small" id="unread-count">1</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick="">
                <div class="w-50">
                  <div class="name">John</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> yup</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">27/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
              <div class="chat-list-item d-flex flex-row w-100 p-2 border-bottom" onclick=" ">
                <div class="w-50">
                  <div class="name">Rob Mobile</div>
                  <div class="small last-message"><i class="far fa-check-circle mr-1"></i> i'm good too</div>
                </div>
                <div class="flex-grow-1 text-right">
                  <div class="small time">26/03/2018</div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <!-- Profile Settings -->
      </div>
      <!-- Message Area -->
      <div class="d-none d-sm-flex flex-column col-12 col-sm-7 col-md-8 p-0 " style="height: 95%;" id="message-area">
        <!-- Navbar -->
        <div class="row d-flex flex-row align-items-center p-2 m-0 w-100 border bg-primary" id="navbar">
          <div class="d-block d-sm-none">
            <i class="fas fa-arrow-left p-2 mr-2 text-white" style="font-size: 1.5rem; cursor: pointer;"></i>
          </div>
          <a href="#"></a>
          <div class="d-flex flex-column">
            <div class="text-white font-weight-bold" id="name">Programmers</div>
            <div class="text-white small" id="details">You,Jimmy,Rob Mobile</div>
          </div>
          <div class="d-flex flex-row align-items-center ml-auto">
            <a href="#"><i class="fas fa-search mx-3 text-white d-none d-md-block"></i></a>
            <a href="#"><i class="fas fa-paperclip mx-3 text-white d-none d-md-block"></i></a>
            <a href="#"><i class="fas fa-ellipsis-v mr-2 mx-sm-3 text-white"></i></a>
          </div>
        </div>
        <!-- Messages -->
        <div class="d-flex flex-column" id="messages" style="flex: 1!important;background: hsl(0,0%,80%);overflow: auto;">
          <div class="mx-auto my-2 bg-primary text-white small py-1 px-2 rounded">
            27/03/2018
          </div>
          <div class="align-self-start p-1 my-1 mx-3 rounded bg-white shadow-sm message-item">
            <div class="options">
              <a href="#"><i class="fas fa-angle-down text-muted px-2"></i></a>
            </div>
            <div class="small font-weight-bold text-primary">
              +91 98232 63547
            </div>
            <div class="d-flex flex-row">
              <div class="body m-1 mr-2">anyone online?</div>
              <div class="time ml-auto small text-right flex-shrink-0 align-self-end text-muted" style="width:75px;">
                18:20
              </div>
            </div>
          </div>
          <div class="mx-auto my-2 bg-primary text-white small py-1 px-2 rounded">
            28/03/2018
          </div>
          <div class="align-self-start p-1 my-1 mx-3 rounded bg-white shadow-sm message-item">
            <div class="options">
              <a href="#"><i class="fas fa-angle-down text-muted px-2"></i></a>
            </div>
            <div class="small font-weight-bold text-primary">
              +91 98232 37261
            </div>
            <div class="d-flex flex-row">
              <div class="body m-1 mr-2">yeah,i'm online</div>
              <div class="time ml-auto small text-right flex-shrink-0 align-self-end text-muted" style="width:75px;">
                17:10
              </div>
            </div>
          </div>
        </div>
        <!-- Input -->
        <div class="justify-self-end align-items-center flex-row d-flex" id="input-area">
          <a href="#"><i class="far fa-smile text-muted px-3" style="font-size:1.5rem;"></i></a>
          <input type="text" name="message" id="input" placeholder="Type a message" class="flex-grow-1 border-0 px-3 py-2 my-3 rounded shadow-sm">
          <i class="fas fa-paper-plane text-muted px-3" style="cursor:pointer;" onclick="sendMessage()"></i>
        </div>
      </div>
    </div>
  </div>
  <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
  <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
</body>

</html>

本文链接:https://www.f2er.com/3145947.html

大家都在问