Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网格到列表视图,仅CSS(带Flexbox)_Javascript_Html_Css_Flexbox - Fatal编程技术网

Javascript 网格到列表视图,仅CSS(带Flexbox)

Javascript 网格到列表视图,仅CSS(带Flexbox),javascript,html,css,flexbox,Javascript,Html,Css,Flexbox,虽然javascript有一个简单的解决方案,但我希望找到一个只使用CSS的解决方案(最有可能使用CSS3,flexbox布局) 当我点击列表查看按钮时,我的卡会改变。我希望有以下布局: 第一张卡片很容易制作。但是,在保持相同结构的同时,我不能将我的元素放在屏幕截图上。我想用“Order”属性(codepen中的l-55到l-67)对我的物品重新排序,但显然不起作用 第二个问题,如何将项目放在同一行上,第二个问题之后,如何换行 你认为坚持使用CSS来做这件事是愚蠢的吗 多谢各位 我的完整代码在C

虽然javascript有一个简单的解决方案,但我希望找到一个只使用CSS的解决方案(最有可能使用CSS3,flexbox布局)

当我点击列表查看按钮时,我的卡会改变。我希望有以下布局:

第一张卡片很容易制作。但是,在保持相同结构的同时,我不能将我的元素放在屏幕截图上。我想用“Order”属性(codepen中的l-55到l-67)对我的物品重新排序,但显然不起作用

第二个问题,如何将项目放在同一行上,第二个问题之后,如何换行

你认为坚持使用CSS来做这件事是愚蠢的吗

多谢各位

我的完整代码在Codepen中提供:

HTML:

CSS:


html代码(
.card\uu text
)中缺少缩进,这就是订单不起作用的原因

要排序元素并在第二个元素后换行,请尝试以下操作:

.card--large {
  .card__body::before, .card__body::after {
    content: '';
    width: 100%;
    order: 1;
  }

  .card__body {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    .card__category {
      order: 1;
    }

    .card__text {
      order: 1;
    }
  }
}

css中没有单击属性。您可能希望使用radio box hack来实现sameI计划使用javascript实现的目标。只是我不想通过JS重新排列我的组件。
.card--large {
  height: 130px;

  .card__body {
    display: flex;
    flex-direction: column;

    .card__category {
      order: 3;
    }

    .card__title {
      order: 1;
    }

    .card__date {
      order: 2;
    }

    .card__text {
      order: 4;
    }
  }
}
.card--large {
  .card__body::before, .card__body::after {
    content: '';
    width: 100%;
    order: 1;
  }

  .card__body {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;

    .card__category {
      order: 1;
    }

    .card__text {
      order: 1;
    }
  }
}