纵向和景观的不同的网格布局在bootstrap

时间:2014-05-04 18:13:36

标签: android html css twitter-bootstrap sencha-touch

我正在使用Sencha制作Android应用。 我正在使用此布局在手机和平​​板电脑中进行响应式布局

<div class="row">
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-4</div>
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-4</div>

  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-4</div>
  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-4</div>
</div>

现在我还想在从纵向模式切换到横向模式时指定不同的网格布局。例如,在移动屏幕中,我想在纵向模式下使用col-xs-6,在横向模式下使用col-xs-3 。那我该怎么做?

4 个答案:

答案 0 :(得分:5)

之前我已经将这个用于网络应用程序,但我没有使用Cordova / PhoneGap,因此您必须使用Sencha进行测试。

@media screen and (min-aspect-ratio: 13/9){ } // landscape and 
@media screen and (max-aspect-ratio: 13/9){ } // portrait.

不得不挖掘我发现它的位置,但这里是原始来源:http://abouthalf.com/development/orientation-media-query-challenges-in-android-browsers/

答案 1 :(得分:4)

你可以这样做自己的课:

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .col-xsl-6{ width: 50%; }
}

.col-xs l -6适用于移动设备中的横向广告。

答案 2 :(得分:1)

Bootstrap以屏幕宽度和高度播放,无法检测方向本身。根据{{​​3}},你仍然可以通过对水平方向应用一些较大的布局选项(小,中)并使较小的布局保持垂直(我的意思是那些sm和xs等)来实现某些目的。

当然,一切都取决于您心中的设备集:如果设备集受限制,您可以通过反复试验找到最合适的组合,此解决方案可能适用。否则你需要一些javascript来检测确切的方向,就像@Nono在他的回答中指出的那样。该解决方案需要一些代码,如果找到正确的组合,我的可以开箱即用。


我的来源:

[1] [1]

答案 3 :(得分:-1)

我认为这很容易实现。 你必须听&#34; onRotationChange&#34;事件,然后修改您的div的类。