【问题标题】:Bootstrap toggle left column in a two column rowBootstrap 在两列行中切换左列
【发布时间】:2015-01-07 18:25:14
【问题描述】:

我想使用 Bootstrap 3.x 为中间页面内容创建一行两列。我尝试了关闭画布,但基于未回答的问题here,它没有按预期工作。

这是我的JS Fiddle

我希望左列在 md 及以上设备上正常显示,然后在 xs 和 sm 设备上隐藏并显示一个切换按钮,并且列的切换应应用宽度动画以显示漂亮的列推拉。

HTML

<div class="container-fluid">
<div class="row-fluid">
    <div id="col1" class="col-xs-3">Left Col</div>
    <div id="col2" class="col-xs-9">
        Right Col
        <a id="trig" class="btn btn-inverse">Reflow Me</a>
    </div>

  </div>
</div>

CSS

.row-fluid div {
    height: 200px;
    -webkit-transition: width 0.3s ease, margin 0.3s ease;
    -moz-transition: width 0.3s ease, margin 0.3s ease;
    -o-transition: width 0.3s ease, margin 0.3s ease;
    transition: width 0.3s ease, margin 0.3s ease;
}

.row-fluid .col-0 {
    width: 0%;

}

#col1 {
    background-color: #A6BFBA;
}

#col2 {
    background-color: #DE4124;
}

#trig {
    margin: 50px;
}

.row-fluid .col-0 + [class*="span"]{
    margin-left: 0;
}

JS

$('#trig').on('click', function () {
    $('#col1').toggleClass('col-0 col-xs-3');
    $('#col2').toggleClass('col-xs-12 col-xs-9');
});

【问题讨论】:

  • [class*="span"] 看起来像 bootstrap 2 遗留代码。不应该是[class*="col"]吗?

标签: jquery html css twitter-bootstrap


【解决方案1】:

这里看起来有几个问题。首先,您使用的是遗留代码。任何带有“span”的东西都是旧的 Bootstrap 2 代码。其次,您还需要过渡填充。如果没有填充填充,它会跳起来有点难看。最后,您还需要像普通列一样浮动您的col-0

更新了 CSS 和下面的演示:

.row-fluid div {
    height: 200px;
    -webkit-transition: width 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    -moz-transition: width 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    -o-transition: width 0.3s ease, margin 0.3s ease, padding 0.3s ease;
    transition: width 0.3s ease, margin 0.3s ease, padding 0.3s ease;
}

.row-fluid .col-0 {
    width: 0%;
    float:left;
}

...

.row-fluid .col-0 + [class*="col"]{
    margin-left: 0;
}

http://fiddle.jshell.net/fv2jvbgL/

【讨论】:

  • 不隐藏左栏文本。我在左栏中添加了一些文本,折叠时它只是换行,这是一个 jsfiddle fiddle.jshell.net/yz86yhgh
  • @daliaessam 有几个因素会影响这一点。添加overflow:hidden 会有所帮助,但您也有一个固定的高度 200。这个概念的可行性很大程度上取决于您在左栏中的内容。 fiddle.jshell.net/yz86yhgh/1
  • 我在这里创建了另一个关于这个主题的问题stackoverflow.com/questions/27827888/…
  • 具有最少 css 和脚本的优秀解决方案。
猜你喜欢
  • 2019-09-05
  • 2013-04-12
  • 2017-05-03
  • 2022-01-17
  • 2016-04-22
  • 1970-01-01
  • 2019-07-22
  • 1970-01-01
相关资源
最近更新 更多