html - CSS:全宽 Flex 列不会在 Webkit 上彼此堆叠

标签 html css webkit flexbox

我在一个容器中有两个 div,如下所示:

<div class="container">
    <div class="div-a"> Hello </div>
    <div class="div-b"> Lorem </div>
</div>

我已将容器设置为 display:flex 并将 flex-direction 设置为 column

我的目标是将 2 个 div 彼此对齐。这在 Firefox 上运行良好,但在 WebKit (Chrome/Safari) 上运行不佳。在 WebKit 上,列改为彼此相邻对齐。

这是一个jsFiddle所以你可以看到。

我的 CSS 是:

.container {
    width:100%;
    float:left;
    flex-direction: column;
    display: -webkit-box;
    display: -moz-box; 
    display: -ms-flexbox;
    display: -webkit-flex; 
    display: flex; 
}

.div-a {
    background:lightgreen;
    order:2;
    width:100%;
    float:left;
}

.div-b {
    background:lightblue;
    order:1;
    width:100%;
    float:left;
}

为什么这在 WebKit 上不起作用?

最佳答案

为了使 flex 能够跨浏览器(尤其是 Safari 桌面版和 iOS)工作,您需要为所有相关属性添加前缀。访问here了解浏览器支持详细信息。

flex-direction: column; 的示例

.container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: column;
    -webkit-flex-direction: column;
    flex-direction: column;
}
.a {
    background: lightgreen;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
}
.b {
    background: lightblue;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
}
<div class="container">
    <div class="a">A</div>
    <div class="b">B</div>
</div>

flex-direction: row; 示例

.container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-direction: row;
    -webkit-flex-direction: row;
    flex-direction: row;
}
.a, .b {
    -ms-flex: 1;
    -webkit-flex: 1;
    flex: 1;
}
.a {
    background: lightgreen;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
}
.b {
    background: lightblue;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
}
<div class="container">
    <div class="a">A</div>
    <div class="b">B</div>
</div>

关于html - CSS:全宽 Flex 列不会在 Webkit 上彼此堆叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29928381/

相关文章:

javascript - -webkit-tap-highlight-color : rgba(0, 0,0,0);在一个股利?

html - 验证服务 - 电子邮件消息验证失败

带 float 的 HTML 布局

javascript - Android + iOS 上的 CSS 过渡

jquery - 增加 setInterval if 语句内的变量并显示该变量

html - 如何使跨度贴在输入字段的底部且中间的间距很小?

jquery - 单击响应式 jQuery 汉堡包图标 "disappears"

HTML/CSS。去上课?

javascript - 我怎样才能动画这个?

cordova - iOS 13 beta WebKit 中断了对 cookie 的支持