Flexbox不会在移动设备上从行切换到列

时间:2013-07-23 03:37:56

标签: html css responsive-design flexbox

我正在尝试让Flexbox在移动设备上运行,特别是iPhone 5.我的目标是在iPad和计算机显示器等大屏幕上以及移动设备上的列中跨越页面使用3个项目。我使用了用户Cimmanon生成的代码:3 Column Responsive CSS (Ordering Contents Positions)尽可能接近我。我是一位经验丰富的开发人员(主要是数据库工作),但他是Web开发的新手,并且因为我的成功而感到沮丧。

我正在使用Dreamweaver CC进行编码。当我使用下面的CSS时,我的页面显示为我认为应该以及当我在Chrome,IE和Firefox上传和测试时,我得到了我期望的结果:浏览器窗口宽时有3个项目,窗口窄时有3个项目。但是,当我使用我的iPhone时,当我想要获得的是该列时,我继续获得包含3个项目的行。

我现在花了很多时间在这上面,并感谢任何人可以传递的任何帮助。提前谢谢。

/*** FLEXBOX ***************************************/
/*  SECTIONS  */
.section {
  clear: both;
  padding-top:50px;
  margin: 0px;
}

.a {
    background-color: #fff;
    text-align: center;
    padding-top: 20px;
}

.b {
  background-color: #fff;
  text-align:center;
  padding-top:20px;
}

.c {
  background-color: #fff;
  text-align:center;
  padding-top:20px;

}

/*  GRID OF THREE           ============================================================================= */
@media only screen and (min-width: 640px) {
  .span_3_of_3 {
    width: 100%;
  }

  .span_2_of_3 {
    width: 66.1%;
  }

  .span_1_of_3 {
    width: 32.2%;
  }

  /*  COLUMN SETUP  */
  .col {
    display: block;
    float: left;
    margin: 1% 0 1% 1.6%;
  }

  .col:first-child {
    margin-left: 0;
  }
}
@media only screen and (max-width: 640px) {


  .section {

    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 100%; /* fix for Firefox */
    -webkit-box-orient: vertical;
    -moz-box-orient: vertical;
-webkit-box-direction: normal;
-moz-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
text-align: center;
left: 0px;
right: 0px;
padding-left: 0px;
  }

  .a {
    -webkit-box-ordinal-group: 1;
    -moz-box-ordinal-group: 1;
    -webkit-flex-order: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .b {
    -webkit-box-ordinal-group: 2;
    -moz-box-ordinal-group: 2;
    -webkit-flex-order: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .c {
    -webkit-box-ordinal-group: 3;
    -moz-box-ordinal-group: 3;
    -webkit-flex-order: 3;
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }  
}

1 个答案:

答案 0 :(得分:0)

在许多博客中写的其他内容,像iOS这样的移动操作系统不支持flex方向:

https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html