当前位置: 首页 > 面试题库 >

flexbox和wrap属性

傅玮
2023-03-14
问题内容

我正在开发带phonegap的应用程序。我想使用flexbox在我的主html" target="_blank">应用程序区域中布置一些按钮。

有人可以解释为什么这没有在最新的chrome中包装元素吗?

HTML:

<div class="flex-container">
    <div class="flex-item">1</div>
    <div class="flex-item">2</div>
    <div class="flex-item">3</div>
    <div class="flex-item">4</div>
    <div class="flex-item">5</div>
    <div class="flex-item">6</div>
</div>

CSS:

.flex-container {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-direction: row;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: end;
    -moz-box-align: end;
    box-align: end;
    -webkit-box-pack: center;
    -moz-box-pack: center;
    box-pack: center;
    justify-content:space-around;
    height:100%;
}
.flex-item {
    margin:0 10px 25px 0;
    width:86px;
    border:1px solid #000;
}
.flex-item img {
    max-height:80px;
}

它们水平放置,只有3个半盒子出现。


问题答案:

您有很多事情在这里不完全正确。首先,您要混合旧属性和新属性(display: -webkit-box来自2009年草案,但-webkit-flex- flow来自标准草案)。

其次,2009年Flexbox实施均不支持box-lines: multiple,这是启用包装所必需的。可悲的是,几乎所有移动设备仅支持2009年草案。当前支持现代规范的Firefox版本也不支持包装(flex-
flow和flex-wrap是受支持的属性,但不支持与包装有关的值)。

第三,您已经有了justify-content: space-around,但2009年的对应版本设置为box-pack:center。中心是所有草稿的中心。

.flex-container {
  display: -ms-flexbox;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-line-pack: end;
  -webkit-align-content: flex-end;
  align-content: flex-end;
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
  height: 100%;
}
@supports (flex-wrap: wrap) { /* hide from incomplete Firefox versions */
  .flex-container {
    display: flex;
  }
}

更新 :包装现在可以从Firefox 28版本开始使用,但仅在使用现代属性(而不是诸如的旧前缀属性display: -moz-box)时有效。



 类似资料:
  • 描述 (Description) wrap( html )方法使用指定的HTML内容包装每个匹配的元素。 此包装过程对于将其他结构注入文档非常有用,而不会破坏文档的原始语义质量。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.wrap( html ) 参数 (Parameters) 以下是此方法使用的所有参数的说明 - elem - 将在动态创建并围绕每

  • 描述 (Description) wrap( elem )方法使用指定的元素包装每个匹配的元素。 语法 (Syntax) 以下是使用此方法的简单语法 - <i>selector</i>.wrap( elem ) 参数 (Parameters) 以下是此方法使用的所有参数的说明 - elem - 将围绕每个目标包裹的DOM元素。 例子 (Example) 以下是一个简单的示例,简单地显示了此方法的

  • 通常,如果容器的空间不足,其余的弹性项目将被隐藏,如下所示。 flex-wrap属性用于指定flex-container是单行还是多行的控件。 usage - flex-wrap: nowrap | wrap | wrap-reverse flex-direction: column | column-reverse 此属性接受以下值 - wrap - 如果空间不足,容器的元素(flexitem

  • 服务端安全签名验签 引入jar包 gradle compile 'com.seelyn:api-wrap-boot:{version}' maven <dependency> <groupId>com.seelyn</groupId> <artifactId>api-wrap-boot</artifactId> <version>{version}</version></depe

  • Dokuwiki插件:Wrap 好久没更新了,继续写Dokuwiki的东西…… 在我看来,此插件应属Dokuwiki使用中的必备用品之一,绝对值得关注。它主要扩充了排版功能,可以取代以前许多旧的插件。如果你曾经是Osmond的读者,应该对作者介绍一些诸如box、color之类的插件有印象,现在它们的功能都可以用wrap来完成。 更重要的是,用wrap,你可以轻松进行自定义 安装就不多说了,网址:h

  • flex-wrap 主要通过在外层容器中设置它里面的子项目是否可以换行。默认情况下项目是不换行的。 1. 官方定义 flex-wrap 属性规定flex容器是单行或者多行,同时横轴的方向决定了新行堆叠的方向。 2. 慕课解释 默认情况下,设置了 display:flex 的容器是不会换行的,这时候如果我们希望它换行就可以通过 flex-wrap设置超出宽度换行,也可以设置它如何换行,既换行之后的排