如何在桌面上显示一排六列,在移动端显示两排三列?

Posted

技术标签:

【中文标题】如何在桌面上显示一排六列,在移动端显示两排三列?【英文标题】:How to display one row of six columns on desktop and two rows of three columns on mobile? 【发布时间】:2020-10-11 12:37:30 【问题描述】:

我有一个包含 6 张图片的部分。我想在桌面上以单行 6 列的形式显示它们,然后在移动设备上以 2 行 3 列的形式显示它们。

我能够在桌面上实现所需的布局。但是在移动设备上,这些图像在单个列中彼此堆叠在一起。我希望它们出现在 2 行中,每行 3 列。

这是标记:

<div class="row">

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

</div>

【问题讨论】:

如果您已经制作了任何 CSS,请与我们分享或只是检查所需输出的新 CSS 的答案 尝试阅读文档getbootstrap.com/docs/4.0/layout/grid 【参考方案1】:

从类名中删除“-sm”,因为这针对 ≥576px 的屏幕。 Bootstrap 4 首先是移动设备,因此您只需将“col-4”用于https://getbootstrap.com/docs/4.0/layout/grid/

的文档中所述
<div class="row">

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-4 col-lg-2">
    <img src="" >
  </div>

</div>

【讨论】:

【参考方案2】:

如果以下是您的 html,请尝试为所需的输出添加给定的 CSS -

CSS 和 HTML-

.row 
  width: 100%;


.row img 
  height: 100px;
  width: auto;


.col-sm-4 
  height: 100px;


.col-sm-4:nth-child(1) 
  background: #999;


.col-sm-4:nth-child(2) 
  background: #888;


.col-sm-4:nth-child(3) 
  background: #777;


.col-sm-4:nth-child(4) 
  background: #555;


.col-sm-4:nth-child(5) 
  background: #333;


.col-sm-4:nth-child(6) 
  background: #111;


@media only screen and (max-width: 767px) 
  .col-sm-4 
    float: left;
    width: 33.3%;
  


@media only screen and (min-width: 768px) 
  .col-lg-2 
    float: left;
    width: 16.6%;
  
<div class="row">

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

  <div class="col-sm-4 col-lg-2">
    <img src="" >
  </div>

</div>

请调整浏览器窗口大小以查看结果。

【讨论】:

如果您需要任何帮助,请告诉我,如果您认为我能够解决您的问题,请接受我的回答。 这是错误的解决方案。答案是遵循引导文档,不要创建不需要的自定义代码或覆盖引导核心代码getbootstrap.com/docs/4.0/layout/grid 你不应该重写 Bootstrap 的网格 CSS ......他只需要使用 col-4 类而不是 col-sm-4 他在他的问题中没有提到他正在使用引导程序,他只是想知道,他怎么能做到这一点,正因为如此,我给了他一个 CSS 的演示!我的意思是做这件事的概念,但如果他已经有一个引导解决方案,那么当然,另一个答案是有帮助的。 @Om_16 问题被标记为 Bootstrap

以上是关于如何在桌面上显示一排六列,在移动端显示两排三列?的主要内容,如果未能解决你的问题,请参考以下文章

网格系统container rows 与 columns

wx小程序只有一张图时显示大图,多张图时显示一排三张,如何实现?

隐藏前一列时如何保留列的位置?

鼠标移到文字上出现图片提示的代码?

Ubuntu16.04怎么将桌面左侧的启动器移动到屏幕底部

云熙软件笔记本不显示工具栏怎么办?