【发布时间】:2018-06-02 03:31:38
【问题描述】:
我发现我使用网格的代码在 IE11 上不起作用。 我想知道是否可以使用 flex 对其进行调整。
使用每个项目类 column_start_1 和 column_end_7 的 css 属性,我想将项目定位在 12 列网格中。
如果使用一列,它必须转到同一行。
https://codepen.io/matoeil/pen/OzNzRK
<div class="field-items">
<div class="entity entity-paragraphs-item column_start_1 column_end_7"></div>
<div class="entity entity-paragraphs-item paragraphs-item-bloc-lien column_start_7 column_end_10">whatever</div>
<div class="bloc-lien-item entity entity-paragraphs-item paragraphs-item-bloc-lien column_start_10 column_end_13"></div>
<div class="bloc-lien-item supposed_to_be_above entity entity-paragraphs-item paragraphs-item-bloc-lien column_start_1 column_end_3">that block is supposed to be above since the first row has been used . This is the behaviour on other browser than IE11</div>
</div>
css
.field-items {
display: -ms-grid;
display:grid;
/* grille de 12*/
-ms-grid-columns: 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33%;
grid-template-columns: 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33% 8.33%;
-ms-grid-rows:400px;
}
.field-items > .entity-paragraphs-item{
border:1px solid red;
}
.bloc-lien-item {
word-wrap: break-word;
}
.supposed_to_be_above{
color:blue;
}
/* ---------- display:grid ----------------- */
.column_start_1{
-ms-grid-column: 1;
grid-column-start: 1;
}
.column_start_2{
-ms-grid-column: 2;
grid-column-start: 2;
}
.column_start_3{
-ms-grid-column: 3;
grid-column-start: 3;
}
.column_start_4{
-ms-grid-column: 4;
grid-column-start: 4;
}
.column_start_5{
-ms-grid-column: 5;
grid-column-start: 5;
}
.column_start_6{
-ms-grid-column: 6;
grid-column-start: 6;
}
.column_start_7{
-ms-grid-column: 7;
grid-column-start: 7;
}.column_start_8{
-ms-grid-column: 8;
grid-column-start: 8;
}
.column_start_9{
-ms-grid-column: 9;
grid-column-start: 9;
}
.column_start_10{
-ms-grid-column: 10;
grid-column-start: 10;
}
.column_start_11{
-ms-grid-column: 11;
grid-column-start: 11;
}
.column_start_12{
-ms-grid-column: 12;
grid-column-start: 12;
}
/**/
.column_end_1{
-ms-grid-column-span: 1;
grid-column-end: 1;
}
.column_end_2{
-ms-grid-column-span: 2;
grid-column-end: 2;
}
.column_end_3{
-ms-grid-column-span: 3;
grid-column-end: 3;
}
.column_end_4{
-ms-grid-column-span: 4;
grid-column-end: 4;
}
.column_end_5{
-ms-grid-column-span: 5;
grid-column-end: 5;
}
.column_end_6{
-ms-grid-column-span: 6;
grid-column-end: 6;
}
.column_end_7{
-ms-grid-column-span: 7;
grid-column-end: 7;
}.column_end_8{
-ms-grid-column-span: 8;
grid-column-end: 8;
}
.column_end_9{
-ms-grid-column-span: 9;
grid-column-end: 9;
}
.column_end_10{
-ms-grid-column-span: 10;
grid-column-end: 10;
}
.column_end_11{
-ms-grid-column-span: 11;
grid-column-end: 11;
}
.column_end_12{
-ms-grid-column-span: 12;
grid-column-end: 12;
}
.column_end_13{
-ms-grid-column-span: 13;
grid-column-end: 13;
}
【问题讨论】:
-
Flexbox 定义网格的方式与 Grid 不同,但您可以使用与许多框架相同的逻辑,使用
col_1/col_2等。此示例使用 Flexbox 产生类似的输出:@ 987654323@ -
您使用的是 CSS Grid 语法而不是 flexbox...答案是否定的。
-
顺便说一句,名为
supposed_to_be_above的项目,你的意思一定是below?,因为它是在Chrome 上使用Grid 呈现的。 -
是的,对不起
-
让我知道我第一条评论中的 codepen 是否是可行的解决方案,我将其作为答案发布。
标签: css grid flexbox internet-explorer-11 display