Bootstrap的伸展高度5.2.0行/列到页面底部

发布于 2025-02-01 23:36:47 字数 3154 浏览 4 评论 0 原文

我正在努力伸展左导航部分,以达到页面底部并保持响应速度。我正在使用Bootstrap 5.2.0。我尝试了许多解决方案,例如 h-100,flex Grow,min-vh-100m自我对准:strave 。似乎没有任何技巧。

codepen :(您可能必须增加输出窗口的高度才能查看我的含义):

https:/ /codepen.io/ma66ot/pen/kkqzxew

html

    <div class="col-md-3 col-lg-2">
      <div class="logo">
        <div>
          <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/300px-Circle_-_black_simple.svg.png" id="circle" alt="">
        </div>
      </div>
        <div class="row">
          <div class="col-md-12">
            <div class="navigation ">
              <div class="title-nav">
                <img src="./assets/verwaltung.png" alt="" id="verwaltung-logo">
              </div>
                
                <div class="button-container">
                  <ul>
                    <li><a href="home"><button type="button" class="btn btn-primary btn-lg btn-block">Übersicht</button></a></li>
                    <li><a href="trainerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TrainerInnen</button></a></li>
                    <li><a href="teilnehmerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TeilnehmerInnen</button></a></li>
                    <li><a href="gruppen"><button type="button" class="btn btn-primary btn-lg btn-block">Gruppen</button></a></li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="col-md-9 col-lg-10">
          <div class="mainfenster">
        </div>
      </div>    
    </div>
  </div>
</div>    

CSS

h2 {
  width:100%;
}

html button {
  border: 0;
  width: 100%;
}


html ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

html .container-fluid {
      padding: 1em;
    }

#circle{
  width: 100%;
  height: 100%;
}

#verwaltung-logo {
  width: 50%;
  height: 50%;
}
html .links {
  padding-right: 3em;
}

/* Navigation */
html .navigation {
  background: #FFA500;
  border-radius: 48px;
  padding: 1em;
  margin-top: 1em;
}

li {
   margin-top: 1em;
   margin-bottom: 1em;
}

.button-container{
  width: 80%;
  margin: auto;
}
.navigation a {
  color: white;
  text-decoration: none;
}

.mainfenster {
  background: #FF6E13;
  border-radius: 48px;
  overflow-y: scroll;
  height: calc(100vh - 2em);;
}

/* Hide scrollbar for Chrome */
.mainfenster::-webkit-scrollbar {
  display: none;
}

.mainfenster {

  /* Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */

}

.mainfenster button {
  border-radius: 10px !important;
}

I'm struggling to stretch the left navigation section to reach the bottom of the page and stay responsive. I'm using Bootstrap 5.2.0. I tried many solutions like h-100, flex-grow, min-vh-100m self-align: stretch. Nothing seems to do the trick.

Codepen: (You may have to increase the height of the output window to see what I mean) :

https://codepen.io/ma66ot/pen/KKQZXew

HTML

    <div class="col-md-3 col-lg-2">
      <div class="logo">
        <div>
          <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Circle_-_black_simple.svg/300px-Circle_-_black_simple.svg.png" id="circle" alt="">
        </div>
      </div>
        <div class="row">
          <div class="col-md-12">
            <div class="navigation ">
              <div class="title-nav">
                <img src="./assets/verwaltung.png" alt="" id="verwaltung-logo">
              </div>
                
                <div class="button-container">
                  <ul>
                    <li><a href="home"><button type="button" class="btn btn-primary btn-lg btn-block">Übersicht</button></a></li>
                    <li><a href="trainerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TrainerInnen</button></a></li>
                    <li><a href="teilnehmerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TeilnehmerInnen</button></a></li>
                    <li><a href="gruppen"><button type="button" class="btn btn-primary btn-lg btn-block">Gruppen</button></a></li>
                  </ul>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div class="col-md-9 col-lg-10">
          <div class="mainfenster">
        </div>
      </div>    
    </div>
  </div>
</div>    

CSS

h2 {
  width:100%;
}

html button {
  border: 0;
  width: 100%;
}


html ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}

html .container-fluid {
      padding: 1em;
    }

#circle{
  width: 100%;
  height: 100%;
}

#verwaltung-logo {
  width: 50%;
  height: 50%;
}
html .links {
  padding-right: 3em;
}

/* Navigation */
html .navigation {
  background: #FFA500;
  border-radius: 48px;
  padding: 1em;
  margin-top: 1em;
}

li {
   margin-top: 1em;
   margin-bottom: 1em;
}

.button-container{
  width: 80%;
  margin: auto;
}
.navigation a {
  color: white;
  text-decoration: none;
}

.mainfenster {
  background: #FF6E13;
  border-radius: 48px;
  overflow-y: scroll;
  height: calc(100vh - 2em);;
}

/* Hide scrollbar for Chrome */
.mainfenster::-webkit-scrollbar {
  display: none;
}

.mainfenster {

  /* Hide scrollbar for IE, Edge and Firefox */
  -ms-overflow-style: none;  /* IE and Edge */
  scrollbar-width: none;  /* Firefox */

}

.mainfenster button {
  border-radius: 10px !important;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

江湖正好 2025-02-08 23:36:47

AS flexbox色谱柱方向并屈曲。

  1. 使左列视口高度并使用 min-vh-100
  2. 还使左列 d-flex flex-column
  3. 使用 flex-grow-1 在DIV上,您想最终填充剩余的列高度
  4. 的高度

,在导航上使用 h-100 ,以便填充其'parent

<div class="container-fluid ">
    <div class="row">
        <div class="col-md-3 col-lg-2 min-vh-100 d-flex flex-column">
            <div class="logo">
                <div>
                    <img ...>
                </div>
            </div>
            <div class="row flex-grow-1">
                <div class="col-md-12">
                    <div class="navigation h-100">
                        <div class="title-nav">
                            <img .. >
                        </div>
                        <div class="button-container">
                            <ul>
                                <li><a href="home"><button type="button" class="btn btn-primary btn-lg btn-block">Übersicht</button></a></li>
                                <li><a href="trainerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TrainerInnen</button></a></li>
                                <li><a href="teilnehmerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TeilnehmerInnen</button></a></li>
                                <li><a href="gruppen"><button type="button" class="btn btn-primary btn-lg btn-block">Gruppen</button></a></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-9 col-lg-10">
            <div class="mainfenster">
            </div>
        </div>
    </div>
</div>

As explained here anytime you want to fill or stretch the remaining height flexbox column direction and flex grow.

  1. make the left column viewport height and use min-vh-100
  2. also make the left column d-flex flex-column
  3. use flex-grow-1 on the div you want to fill the remaining column height
  4. finally, use h-100 on the navigation so it fills the height of its' parent

https://codeply.com/p/CqV3FF1x5L

<div class="container-fluid ">
    <div class="row">
        <div class="col-md-3 col-lg-2 min-vh-100 d-flex flex-column">
            <div class="logo">
                <div>
                    <img ...>
                </div>
            </div>
            <div class="row flex-grow-1">
                <div class="col-md-12">
                    <div class="navigation h-100">
                        <div class="title-nav">
                            <img .. >
                        </div>
                        <div class="button-container">
                            <ul>
                                <li><a href="home"><button type="button" class="btn btn-primary btn-lg btn-block">Übersicht</button></a></li>
                                <li><a href="trainerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TrainerInnen</button></a></li>
                                <li><a href="teilnehmerInnen"><button type="button" class="btn btn-primary btn-lg btn-block">TeilnehmerInnen</button></a></li>
                                <li><a href="gruppen"><button type="button" class="btn btn-primary btn-lg btn-block">Gruppen</button></a></li>
                            </ul>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="col-md-9 col-lg-10">
            <div class="mainfenster">
            </div>
        </div>
    </div>
</div>

牛↙奶布丁 2025-02-08 23:36:47

首先,您需要固定左徽标的高度之后,需要将高度添加到.NAVIGATION类和徽标的减去高度。 请参见下面的Exmple您的徽标DIV高度200px。

html .navigation { 
    height: calc(100vh - 200px);
}

在上述情况下,

First you need to fix height of left logo after that you need to add height to .navigation class and minus height of logo. see the below exmple

html .navigation { 
    height: calc(100vh - 200px);
}

In this above case your logo div height 200px.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文