html - 没有嵌套 div 的 Flex-wrapping

标签 html css flexbox

我试图在没有嵌套 div 的情况下使用 flexbox 制作水平卡片。

比如我现在的是这样的:

.card {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.card-img {
  width: 37%;
}

.card-content {
  width: 63%;
}
<div class='card'>
  <div class='card-img'>
    <img src='example' />
  </div>
  <div class='card-content'>
    <div class='card-number'>
    </div>
    <div class='card-type'>
    </div>
  </div>
</div>

Example

此布局目前有效,但当视口(viewport)调整大小时,我希望水平的 card 变为垂直的(它已经这样做了)。但是,我想使用 flex 顺序重新排序 card-imgcard-numbercard-type

如何在使用这种类型的 div 布局时获得相同的水平布局?

编辑: 对于令人困惑的措辞,我深表歉意,我的目的是创建一个像图像一样工作的水平布局,除了 3 个单独的 div,而不是 2 个 div,其中 1 个是嵌套的 div。对不起!

最佳答案

.card {
  display: flex;
}

.card-img {
  flex: 0 0 37%;
  border: 1px dashed red;
}

.card-number {
  flex: 0 0 30%;
    border: 1px dashed red;
}

.card-type {
  flex: 1 0 30%;
    border: 1px dashed red;
}

img {
  width: 100%;
}

.card > div {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 500px) {
  .card        { flex-direction: column; }
  .card-img    { order: 3; }
  .card-number { order: 2; }
  .card-type   { order: 1; }  
}
<div class='card'>
    <div class='card-img'>
      <img src="http://i.imgur.com/60PVLis.png">
    </div>
    <div class='card-number'>555</div>
    <div class='card-type'>Orange</div>
</div>

https://jsfiddle.net/7y8sarwn/

关于html - 没有嵌套 div 的 Flex-wrapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45042579/

相关文章:

html - 外部没有边距的元素网格

javascript - 用户空格键和模板助手在 Meteor 中随机加载页面背景

html - 页脚上的 Twitter Feed

javascript - 选择下拉菜单输入多个选择。 JavaScript

jquery - 使用 Javascript/jQuery 基于当前页面的动态面包屑

html - 在 Visual Basic 中对齐导航菜单

jquery - 单击更改边距然后在第二次单击时恢复

html - Flexbox 聊天的风格中断

css - 如何使 2 个元素适合页面高度?

html - 证明内容对 flex 容器没有影响