为什么订单属性不在块容器中的div上工作?

时间:2016-09-09 15:10:17

标签: html css html5 css3 flexbox

我有一个容器display: block。在他们里面我有3个div。现在我不想像我编码那样订购它们,但这是不可能的,因为我的容器div是display: block,而不是display: flex

在我的情况下,我想要3个div是一个低于另一个。这就是我放块的原因。

这是JSFIDDLE演示,我试图解决我的问题。 https://jsfiddle.net/u441j2rv/1/

HTML

<div id="blockContainer">
    <div>Block A</div>
    <div>Block B</div>
    <div>Block C</div>
</div>

CSS

#blockContainer{
    display: block;
}
#blockContainer div:nth-of-type(1){
  background:red;
  -webkit-order: 3;
  order:3;
}
#blockContainer div:nth-of-type(2){
  background:green;
  -webkit-order: 1;
  order: 1;
}
#blockContainer div:nth-of-type(3){
  background:blue;
  order: 2;
  order: 2;
}

2 个答案:

答案 0 :(得分:7)

orderdisplay: flex的函数。所以你需要更新你的代码,如下所示。

&#13;
&#13;
#blockContainer {
  display: flex;
  flex-direction: column;
}
#blockContainer div {
  flex: 1;
}
#blockContainer div:nth-of-type(1) {
  background: red;
  -webkit-order: 3;
  order: 3;
}
#blockContainer div:nth-of-type(2) {
  background: green;
  -webkit-order: 1;
  order: 1;
}
#blockContainer div:nth-of-type(3) {
  background: blue;
  -webkit-order: 2;
  order: 2;
}
&#13;
<div id="blockContainer">
  <div>Block A</div>
  <div>Block B</div>
  <div>Block C</div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:4)

  

CSS订单属性

order属性指定灵活项目相对于同一容器内其他灵活项目的顺序。

注意:如果元素不是灵活项,则order属性无效。

来自:w3schools.com