Bootstrap 如何把相同高度的列使用溢出在其中之一?

mnowg1ta  于 2022-12-07  发布在  Bootstrap
关注(0)|答案(1)|浏览(163)

我使用Bootstrap。我有2列工作方式如下:

---------------------
| Content  | Aside1 |
|          |------- |
|          | Aside2 |
---------------------

这个想法是把内容放在与Aside1和Aside2相同的高度,并合并一个溢出:滚动到内容。

HTML

<div class="container-full">
  <article class="col-md-8 col-xs-12">
    <p>Long content there</p>
  </article>
  <div class="aside_full_screen">

    <aside class="col-md-4 col-xs-12">
      <p>Social Network Content</p>
    </aside>

    <div class="col-md-4 col-xs-12">
      <p>Kitten Content</p>
    </div>
  </div>
</div>

CSS

article{ 
  border: 2px solid black;
  background-color: rgba(240, 116, 90, 1);
  overflow: auto;
  height: 1200px; /* — Just there for example, had to be remove — */
}

::-webkit-scrollbar {   /* — For hiding scrollbar — */
    display: none; 
}

Here是我主要得到的。here是我想要实现的。稍微精确一点,滚动条是隐藏的。我对JavaScript、jQuery或任何类型的提议都是开放的。

oiopk7p5

oiopk7p51#

在您的HTML上添加aside1和aside2,如下所示:

<div class="container-full">
  <article class="col-md-8 col-xs-12">
    <p>Long content there: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
      Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
  </article>
  <div class="aside_full_screen">

    <div class="col-md-4 col-xs-12 aside1">
      <p>Social Network Content</p>
    </div>

    <div class="col-md-4 col-xs-12 aside2">
      <p>Kitten Content</p>
    </div>
  </div>
</div>

然后,您可以使用jQuery来调用一个函数来处理文档就绪和窗口大小调整。在该函数中,您需要使用height()函数计算.aside1.aside2高度。然后将total(aside1 + aside2)应用于article

jQuery

$(document).ready(myfunction);
$(window).on('resize', myfunction);

function myfunction() {
  var aside1 = $('.aside1').height();
  var aside2 = $('.aside2').height();
  var total = aside1 + aside2;
  $('article').css("height", total);
};

请参阅**example CodePen**。

相关问题