Flexbox 在 Firefox 的按钮中不起作用
Posted
技术标签:
【中文标题】Flexbox 在 Firefox 的按钮中不起作用【英文标题】:Flexbox not working in buttons in Firefox 【发布时间】:2014-08-08 23:13:08 【问题描述】:显然 Firefox 不喜欢按钮上的display: flex
。有没有办法解决这个问题?
CSS:
button
width: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -moz-box;
display: -ms-flexbox;
display: flex;
button div:first-child
-webkit-box-ordinal-group: 2;
-webkit-order: 2;
-moz-box-ordinal-group: 2;
-ms-flex-order: 2;
order: 2;
button div:last-child
-webkit-box-ordinal-group: 1;
-webkit-order: 1;
-moz-box-ordinal-group: 1;
-ms-flex-order: 1;
order: 1;
html:
<button>
<div>
<p>First</p>
</div>
<div>
<p>Second</p>
</div>
</button>
现场演示:http://jsbin.com/ziwadabo/2
【问题讨论】:
【参考方案1】:tl;dr:只需在您的 <button>
中添加一个 div,然后将 that 设为 div display:flex
。
请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=984869#c2,了解为什么 display
在 Firefox 中的 <button>
无法达到您的预期效果(以及出于类似原因在 Firefox 或 Webkit/Blink 中不起作用的类似事情)。
这是您修改后的 jsbin:http://jsbin.com/ziwadabo/4/
【讨论】:
有趣,我想这是有道理的。愚蠢的系统级元素,总是把事情搞砸。谢谢! 按钮中不允许使用短语内容 (developer.mozilla.org/en-US/docs/Web/Guide/HTML/…)。看到这个链接:developer.mozilla.org/en-US/docs/Web/HTML/Element/button @jbergloff,这与这个线程有什么关系?有人建议将哪一段短语内容放在此处的按钮中?<div>
内的 <button>
不会通过 W3C 验证(您将收到 Element div not allowed as child of element button in this context
错误)。但你可以改用<span>
。以上是关于Flexbox 在 Firefox 的按钮中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
@font-face 在 Firefox 中不起作用 [重复]