Twitter Bootstrap 3 - 如何根据屏幕大小从水平按钮组切换到垂直按钮组



我有一个水平按钮组,我想让它切换到屏幕尺寸特别小的垂直按钮组(-xs)。有没有办法用 Bootstrap 3 类做到这一点?

使用 jquery 检测窗口大小并相应地调整菜单的类:

<div class="btn-group" id="responsive">
  <button class="btn">Hello</button>
  <button class="btn">World</button>
</div>
<script>
$(window).resize(function() {
  if ($(window).width() < 408) {
    $('#responsive').removeClass('btn-group');
    $('#responsive').addClass('btn-group-vertical');
  } else {
    $('#responsive').addClass('btn-group');
    $('#responsive').removeClass('btn-group-vertical');
  }
});
</script>

使用纯引导程序,您将制作两个菜单:水平菜单和垂直菜单:

<div class="btn-group hidden-xs">
  <button class="btn">Hello</button>
  <button class="btn">World</button>
</div>
<div class="btn-group-vertical visible-xs">
  <button class="btn">Hello</button>
  <button class="btn">World</button>
</div>

在理想情况下,您将仅使用 css 中的媒体查询来执行此操作,但将自定义媒体查询添加到引导程序可能会稍微复杂一些。

如果您使用 Duvrai 建议的纯引导方法,并且在 ASP.NET 中使用 Razor,则可以通过创建可重用的@helper来避免代码的文字重复。因此,提供的示例将成为

@helper ReusedBlock(string clazz){
<div class="@clazz">
  <button class="btn">Hello</button>
  <button class="btn">World</button>
</div>
}

然后它会像这样简单地使用

@ReusedBlock("btn-group hidden-xs")
@ReusedBlock("btn-group-vertical visible-xs")

如果重用块很复杂,并且使代码更简洁,更易于理解和维护,则此功能特别有用。

注意:您可以将任意数量的参数传递给定义的帮助程序,只需将它们包含在定义中即可。

最新更新