【发布时间】:2015-11-16 16:03:50
【问题描述】:
我正在尝试以与Facebook's CSS layout project 相同的方式使用 Flex-By-Default。在覆盖 display: inline-flex 元素的样式时,我遇到了一些麻烦。
每this jsfiddle:
HTML,带有两个 '.test-me' div:
<body>
<h1>TEST</h1>
<div class="test-me">
I'm correctly displayed as inline-flex
</div>
<div>
<div class="test-me">
'Styles' shows inline-flex, but 'Computed' shows flex
</div>
</div>
</body>
样式如下:
.test-me {
display: inline-flex;
background-color: green;
border: 1px solid black;
margin: 6px;
}
div, span {
display: flex;
/* Commenting out flex-direction makes second test-me div display correctly */
flex-direction: column;
background-color: purple;
}
我有点担心这是一个浏览器错误:在 Chrome 开发者工具中,'Styles' 显示 'inline-flex' 获胜(因为它来自更具体的样式),但 'Computed' 显示 'flex'。
即使 'display: flex' 被划掉了(因为它被 'display: inline-block' 覆盖了),禁用已经划掉的样式可以解决问题。
【问题讨论】:
-
Computed 在 jsfiddle 上显示 inline-flex 对我来说很好。使用 Chrome Canary,所以似乎是您的 Chrome 版本中的一个错误。下一次更新(可能是两个)应该会修复它。
-
@garbee: Computed 显示 'display: flex' 最新的 Chrome Canary,49.0.2567.0。截图:imgur.com/EAbJJuT
标签: css flexbox css-specificity