【问题标题】:Bootstrap css: aligning columns on small screensBootstrap css:在小屏幕上对齐列
【发布时间】:2014-08-30 23:10:15
【问题描述】:

编辑: 在实施下面接受的答案后,我有以下内容,这是我在实施任何推/拉策略之前最初拥有的。因此问题仍然存在。欢迎任何有助于在小屏幕上实现所需布局的建议。

----------------------------
|  Left Sidebar  |         |
------------------  Main   |
|                |         |
|                |         |
|                |         |
|                |         |
|                |         |
-----------------|---------|            
|  Right         |
------------------

我在流体容器(容器流体)中的一行中有 3 列。我整天都在尝试在屏幕尺寸变化时正确对齐它们,但无济于事。

1:右侧边栏

2:左侧边栏

3:主要

它在大屏幕上的样子:

------------------------------------------------
|   Left sidebar  |      Main      |  Right Sidebar |
------------------------------------------------

它在小屏幕上应该是什么样子:

----------------------------
|  Left Sidebar  |         |
------------------  Main   |
|  Right Sidebar |         |
----------------------------

现在的样子:

-----------------------------
|  Left          |  Main    |
|  Sidebar       ------------
|                |  Right   |
|                | sidebar  |
-----------------------------

我尝试了 col-sm-push/pull-x 和 col-xs-push/pull-x 的不同组合,但它们都没有产生所需的输出。我一直让列在大屏幕上相互重叠,而不是像预期的那样在小屏幕上很好地相互重叠。如何在小屏幕上实现正确的布局?

【问题讨论】:

  • 你能发个 bootply 或者 fiddle 吗?
  • @user3694391 我想说这不是您在引导程序中非常需要的设置。我现在正在为你制作一个 bootply。'
  • 谢谢。我会很感激任何可以帮助我前进的东西。
  • @user3694391 好吧,我认为新问题是因为行,我将不得不考虑它,我会更新我的答案。

标签: html css layout responsive-design twitter-bootstrap-3


【解决方案1】:

看看这个bootply。我使用了容器和面板,因为它们看起来更干净。阅读我使用的面板和网格here。阅读关于隐藏 div here:

<div class="container">
<div class="row">
    <div class="col-sm-8 col-md-4 hidden-xs">
        <div class="panel panel-default">
            <div class="panel-heading text-center">
                    <h3 class="panel-title">left</h3>

            </div>
            <div class="panel-body"></div>
        </div>
    </div>
    <div class="col-sm-4 col-md-4">
        <div class="panel panel-default">
            <div class="panel-heading text-center">
                    <h3 class="panel-title">main</h3>

            </div>
            <div class="panel-body"></div>
        </div>
    </div>
    <div class="col-sm-8 col-md-4 hidden-xs">
        <div class="panel panel-default">
            <div class="panel-heading text-center">
                    <h3 class="panel-title">right</h3>

            </div>
            <div class="panel-body"></div>
        </div>
    </div>
</div>

大预览

小预览

首先,您创建一个包含所有等宽列 (col-md-4) 的行,其中 col 表示列,md 表示何时以屏幕尺寸显示宽度(桌面(≥992px)),最大宽度为 12。接下来,您对不同尺寸的屏幕(sm ≥768px)执行相同操作,并为调整大小的面板选择宽度。为了以特定分辨率隐藏面板和 div,bootstrap 使用hidden-SCREENSIZE,因此我们在左右面板中添加了hidden-xs

【讨论】:

  • 谢谢!这似乎行得通。我不会意识到我必须使用面板。对于 xs 屏幕,我只想显示主 div 而侧面没有其他内容。我尝试以下列方式修改您的引导程序:bootply.com/u6n2Y0S2gD#,但这并没有产生我想要的效果。 xs 屏幕缺少什么?
  • @user3694391 我添加了隐藏这些 div 所需的内容 - hidden-xs
  • 能否提供链接?
  • @user3694391 我添加了隐藏链接。
  • 这似乎在 bootply 上完美运行。但是,在我的actua 网站上,main 是最长的列,所以在 sm 屏幕中发生的情况是右侧边栏向下滚动到左列,但仅在主要内容结束的地方。这与我想要实现的目标相反。右侧边栏需要在左侧边栏正下方对齐,而不是在左侧边栏列中对齐,而是在主要结束之前留下巨大的空白空间以将自己放置在该列中。请检查我上面的编辑。
猜你喜欢
  • 2015-06-16
  • 2016-09-08
  • 1970-01-01
  • 2017-02-01
  • 1970-01-01
  • 2017-12-04
  • 2022-12-15
  • 2013-04-09
  • 1970-01-01
相关资源
最近更新 更多