css 引导行中的水平可滚动div

hlswsv35  于 2023-05-02  发布在  其他
关注(0)|答案(8)|浏览(164)

我正在尝试创建一个水平可滚动的引导行。该行包含 Package 在div中的客户评论。每个证明div的宽度为33.333%
white-space: nowrapdisplay: inline-block不起作用。
我做错了什么?

<div class="row">
    <div class="col-lg-12 text-center">
        <div class="section-title">
           <div class="testimonial_group">
               <div class="testimonial">...</div>
               <div class="testimonial">...</div>
               <div class="testimonial">...</div>
               <div class="testimonial">...</div>
               ...
           </div>
        </div>
    </div>
</div>
hmae6n7t

hmae6n7t1#

请检查。这是你想要实现的吗?

Bootstrap 3带inline-blocks

CodePen · JSFiddle

/* The heart of the matter */
.testimonial-group > .row {
  overflow-x: auto;
  white-space: nowrap;
}
.testimonial-group > .row > .col-xs-4 {
  display: inline-block;
  float: none;
}

/* Decorations */
.col-xs-4 { color: #fff; font-size: 48px; padding-bottom: 20px; padding-top: 18px; text-align: center; }
.col-xs-4:nth-child(3n+1) { background: #c69; }
.col-xs-4:nth-child(3n+2) { background: #9c6; }
.col-xs-4:nth-child(3n+3) { background: #69c; }
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">

<div class="container testimonial-group">
  <div class="row">
    <div class="col-xs-4">1</div><!--
 --><div class="col-xs-4">2</div><!--
 --><div class="col-xs-4">3</div><!--
 --><div class="col-xs-4">4</div><!--
 --><div class="col-xs-4">5</div><!--
 --><div class="col-xs-4">6</div><!--
 --><div class="col-xs-4">7</div><!--
 --><div class="col-xs-4">8</div><!--
 --><div class="col-xs-4">9</div>
  </div>
</div>

使用flexbox的Bootstrap 4

正如Hector所评论的,内联框解决方案也适用于Bootstrap 4,但需要为.testimonial-group > .row添加display: block;
但是Bartimaeus正确地指出,对于Bootstrap 4,这个结果更适合在flexbox的帮助下实现,添加为此提供的样式类:flex-nowrapoverflow-auto
https://codepen.io/glebkema/pen/xxOgaMm

/* Decorations */
.col-4 { color: #fff; font-size: 48px; padding-bottom: 20px; padding-top: 18px; text-align: center; }
.col-4:nth-child(3n+1) { background: #c69; }
.col-4:nth-child(3n+2) { background: #9c6; }
.col-4:nth-child(3n+3) { background: #69c; }
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.6.2/css/bootstrap.min.css">

<div class="container">
  <div class="row flex-nowrap overflow-auto">
    <div class="col-4">1</div>
    <div class="col-4">2</div>
    <div class="col-4">3</div>
    <div class="col-4">4</div>
    <div class="col-4">5</div>
    <div class="col-4">6</div>
    <div class="col-4">7</div>
    <div class="col-4">8</div>
    <div class="col-4">9</div>
  </div>
</div>
lstz6jyr

lstz6jyr2#

在Bootstrap 4中,您需要添加

flex-wrap: nowrap;

.testimonial-group > .row

除了格列布回答

eeq64g8w

eeq64g8w3#

Flexbox方法

/* The heart of the matter */
.testimonial-group > .row {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
}
.testimonial-group > .row > .col-xs-4 {
  flex: 0 0 auto;
}

/* Decorations */
.col-xs-4 { color: #fff; font-size: 48px; padding-bottom: 20px; padding-top: 18px; }
.col-xs-4:nth-child(3n+1) { background: #c69; }
.col-xs-4:nth-child(3n+2) { background: #9c6; }
.col-xs-4:nth-child(3n+3) { background: #69c; }
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

<div class="container testimonial-group">
  <div class="row text-center">
    <div class="col-xs-4">1</div><!--
 --><div class="col-xs-4">2</div><!--
 --><div class="col-xs-4">3</div><!--
 --><div class="col-xs-4">4</div><!--
 --><div class="col-xs-4">5</div><!--
 --><div class="col-xs-4">6</div><!--
 --><div class="col-xs-4">7</div><!--
 --><div class="col-xs-4">8</div><!--
 --><div class="col-xs-4">9</div>
  </div>
</div>
yuvru6vn

yuvru6vn4#

试试这个:

section-title {
  width: 100%; 
  overflow-x: scroll(or auto);
}

看看the spec here

o3imoua4

o3imoua45#

您可以用途:

class="text-nowrap overflow-auto"

请考虑以下示例:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">

<div class="list-group list-group-horizontal text-nowrap overflow-auto">
  <a href="#" class="list-group-item list-group-item-action active">
    Cras justo odio
  </a>
  <a href="#" class="list-group-item list-group-item-action">Dapibus ac facilisis in</a>
  <a href="#" class="list-group-item list-group-item-action">Morbi leo risus</a>
  <a href="#" class="list-group-item list-group-item-action">Porta ac consectetur ac</a>
  <a href="#" class="list-group-item list-group-item-action disabled" tabindex="-1" aria-disabled="true">Vestibulum at eros</a>
</div>

要在没有任何css或所有不需要的div的情况下实现所需的结果:getbootstrap.com/list-group

mftmpeh8

mftmpeh86#

把这些行放到你的CSS文件中

.section-title {
  overflow: scroll;
  overflow-x: scroll;
  overflow-y:hidden
}

x表示水平方向,y表示垂直方向,在嵌套了许多div的父div中应用类代码。

3pvhb19x

3pvhb19x7#

我不明白为什么这么多的挣扎与所有这些无 Package 和灵活的属性,实际上只工作的子元素没有文本。如果子元素中有文本,则

white-space: nowrap;

属性使整个文本在一行中展开,结果文本与其他所有内容重叠并打破整个布局。
解决办法要简单得多。简单地给予父元素如下

display: flex;
overflow-x: auto;

然后将下面的内容传递给子元素

min-width: 25%;

注:25%适用于3号和33号色谱柱。对于列大小4为33333%,对于列大小6为50%,以此类推。现在你看到了。一个基于bootstrap cols的可水平滚动的div。
这是一个干净的样品。Fiddle

kiz8lqtg

kiz8lqtg8#

我使用Bootstrap 4

<div class="row overflow-auto flex-nowrap">
      <div class="col-auto"></div>
</div>

我只需要将overflow-auto和flex-nowrap类添加到div with class row。这将防止div换行和溢出。通过此修改,具有类col-auto的div将在具有类的div行中保持可见,并且水平滚动条将出现以允许用户滚动溢出内容。

相关问题