【问题标题】:Responsive grid with horizontal and vertical elements具有水平和垂直元素的响应式网格
【发布时间】:2017-10-21 01:48:00
【问题描述】:

这是我正在尝试做的一个示例:https://i.imgur.com/Jhj3Xn2.png

我实际上不确定这是否可行,我怀疑它可能不可行,或者可能需要 Javascript 库来完成此操作。

我要做的是构建一个响应式画廊,其中包含垂直和水平元素,它们自己组合在一起。我发现,虽然您可以让元素在特定的屏幕尺寸下看起来不错,但一旦您改变视口宽度,您最终会在布局中出现“洞”。

任何人都可以想出一种方法来让内容在页面上流动,使其既具有响应性又不会在内容中留下空白?我正在使用 Bootstrap 4,我很乐意使用任何可能需要的 JS 或 CSS 来完成此操作。

【问题讨论】:

  • 你可以探索 CSS 网格 --> gridbyexample.com/examples
  • 您好,我不确定为什么会得到如此糟糕的回应,我认为这是一个有效的问题。我尝试过使用 Grid,但我无法找到一种方法来获得我最初要求的内容,这是一个自俄罗斯方块响应式网格。我从对这篇文章的反应猜测这实际上是不可能的。
  • 嗨,Brian,如果问题包含代码(在这种情况下是您正在使用的 HTML 和您尝试过的任何 CSS),问题将会得到更好的响应。您的图像中的布局可以通过多种方式进行。您对“俄罗斯方块”本身的含义有点不清楚 - 我们可以使用不同屏幕宽度的图像更好地可视化这一点。谢谢

标签: javascript html css twitter-bootstrap


【解决方案1】:

这是与您的结构相似的结构,它有点混乱,因为必须使用类,是的,它是 Bootstrap 类(col-12 col-xs-12 用于

您可以添加所需的尺寸并相应地对其进行结构化。

如果您有不明白的地方,请告诉我。

.outer {
  width: 500px;
  height: 500px;
  margin: auto;
  margin-top: 20px;
}

.top {
  height: 250px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container outer">
  <div class="row top">
    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
      </div>
    </div>


    <div class="col-6" style="border:1px solid black;">
      <div class="row">
        <div class="col-6" style="border:1px solid black; height:125px;">
        </div>
        <div class="col-6" style="border:1px solid black; height:125px;">
        </div>
      </div>

      <div class="row">
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
      </div>
    </div>


    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:250px;">
        </div>
      </div>
    </div>
  </div>
  <div class="row top">

    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:250px;">
        </div>
      </div>
    </div>


    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
      </div>
    </div>


    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
      </div>
    </div>

    <div class="col-3" style="border:1px solid black;">
      <div class="row">
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
        <div class="col-12" style="border:1px solid black; height:125px;">
        </div>
      </div>
    </div>



  </div>
</div>

【讨论】:

  • Dhaval 非常令人印象深刻,我不确定它是否真的可以工作,而且它(除了单个断点)没有真正响应,尽管它看起来像我想要的布局在技术上是不可能的以完全响应的方式实施。我想用我的实际代码来玩弄它,看看我是否可以让它工作,但由于某种原因,当你尝试将它与 Bootstrap 4 一起使用时,布局会完全中断。知道为什么吗?据我所知,您使用的类与4中的相同。
  • 绝对它们的工作方式相同,但名称不同,让我检查一下
  • 也许我遗漏了什么,但该代码根本不再响应
  • 给我看一张你想要的照片。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 2017-03-02
  • 2019-06-10
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2015-02-10
相关资源
最近更新 更多