Flexbox 似乎忽略了 CSS 的特殊性

2024-01-08

我尝试以与以下相同的方式使用 Flex-By-DefaultFacebook 的 CSS 布局项目 https://github.com/facebook/css-layout。在覆盖样式时我遇到了一些麻烦display: inline-flex元素。 每这个jsfiddle https://jsfiddle.net/mnh00fzr/4/:

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 开发者工具中,“样式”显示“inline-flex”获胜(因为它来自更具体的样式),但“计算”显示“flex”。

即使“display: flex”被划掉(因为它被“display: inline-block”覆盖),禁用已经划掉的样式解决了这个问题。


修改后的答案

@BoltClock,在评论中提供了相关部分spec http://www.w3.org/TR/css-flexbox-1/覆盖这种行为。

第 4 节. 弹性 项目 http://www.w3.org/TR/css3-flexbox/#flex-items

Flex 项目的显示值被块化:如果指定display生成 Flex 的元素的流入子元素的 容器是一个内联级值,它计算到其块级 相等的。

这意味着在像问题中描述的场景中,当弹性容器的子容器被赋予内联级值时,子容器将计算其块级等效值。简而言之,弹性项目display: inline-flex变成display: flex.


原答案

我有点担心这是一个浏览器错误:在 Chrome Developer 中 工具,“样式”显示“inline-flex”获胜(因为它来自更多 特定样式),但“计算”显示“柔性”。

在 Chrome、Firefox 和 Internet Explorer 11 中测试了您的代码。行为都是相同的。所以我不会说这是浏览器错误。

尽管您是正确的,在 Chrome(和 Firefox)中,检查器显示“样式”具有inline-flex和“计算”有flex,在IE11中显示inline-flex在两个窗格上,但它的渲染效果仍然与其他窗格一样。

读一读spec http://www.w3.org/TR/css3-flexbox/#flex-containers表明弹性项目只能是块元素。即使你正在申请display: inline-flex to the div, 相同div是一个较大容器的弹性项目display: flex。弹性项目与inline-flex可能会被覆盖作为Flex 格式化上下文 http://www.w3.org/TR/css3-flexbox/#flex-formatting-context.

尽管没有直接参考规范,但这里有另一个可能有用的答案:https://stackoverflow.com/a/27090088/3597276 https://stackoverflow.com/a/27090088/3597276

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flexbox 似乎忽略了 CSS 的特殊性 的相关文章

  • CSS3 中均匀间隔的导航链接占据 ul 的整个宽度

    我想创建一个水平导航链接列表 其中导航链接均匀分布并占据封闭容器的整个宽度 ul 导航链接可以有不同的宽度 第一个和最后一个链接应与链接的开头和结尾对齐 ul 分别 意味着链接不居中 如下所示 left side right side li
  • 简化 CSS 代码

    我怎样才能简化这段代码 user panel subscribe user panel faves user panel tags user panel title user panel calendar a user panel item
  • 可见性的替代方案:折叠在 IE 和 Chrome 上不起作用

    以下页面 table border 1 tr class cccc td one td tr table 仅适用于 Firefox IE 始终显示该行 而 Chrome 隐藏该行但显示其垂直空间 那么 如何仅使用 CSS 完全隐藏一行呢
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 有没有办法在 html 图像标签中显示位图数据? [复制]

    这个问题在这里已经有答案了 有没有办法在 HTML 元素中显示位图图像数据 例如 您有一个指向源文件的常规图像 如下所示 img src myImage png width 100 height 100 有没有这样的事情 img width
  • 两种颜色边框

    客户想要两种颜色的边框以获得浮雕外观 我可以在一个元素上执行此操作吗 我希望避免堆叠两个具有单独边框的 DOM 元素 是的 使用outline财产 它充当您边界之外的第二个边界 但请注意 它可能会以一种奇怪的方式与边距 填充和阴影进行交互
  • CSS:缩放字体大小以适应父块元素的高度

    我发现的几乎每个问题和答案都谈到了视口大小 这确实不是我的问题 拿着这支笔 https codepen io njt1982 pen pZjZNM https codepen io njt1982 pen pZjZNM 我有一个非常基本的
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • CSS 的波浪形状

    我正在尝试使用 CSS 重新创建此图像 我不需要重复它 这就是我开始的 但它只有一条直线 wave position absolute height 70px width 600px background e0efe3 div div 我认
  • 我可以在 CSS 类名中使用驼峰命名法吗

    我想命名一个 CSS 类并调用它imgSuper 我可以在 CSS 类中使用驼峰命名法吗 从技术上讲是可以的 但这是有风险的 因为虽然 CSS 语法大多不区分大小写 但在某些浏览器中 在某些条件下 类名被视为区分大小写 因为规范没有指定浏览
  • 使用 CSS 的平行四边形导航背景

    我正在尝试创建此导航菜单 绿色突出显示是活动页面 灰色是悬停状态 我可以使用以下 CSS 制作平行四边形 ul nav li a text decoration none padding 4px 10px border radius 3px
  • 如何动态打破 FlexBox 列以开始新列

    I have a dynamic list of items containing text placed column wise which I need to break after every 5th item 我只有两个限制 每个
  • 垂直对齐复选框标签? [复制]

    这个问题在这里已经有答案了 我有这样的复选框
  • 禁用引导列上的滚动

    我正在尝试禁用引导列上的滚动 这是我的代码 div class container fluid h 100 div class row h 100 div class col 4 h 100 bg dark fixed div div cl
  • 使用 JavaScript 使链接保持活动状态并在单击时显示悬停效果

    I am struggling to make this work I d like to make it where if O F is clicked the hover state stays active if another li
  • 如何设置菜单按钮和菜单项的样式

    我尝试更改菜单按钮中的样式 我可以更改菜单按钮样式 但不能更改其菜单项 无论我尝试什么 菜单按钮内的菜单项都保持不变 menu button fx background color black menu button label fx ba
  • 现在 CSS3 供应商前缀有多必要? [复制]

    这个问题在这里已经有答案了 我只是想知道现在在 CSS 中指定 webkit moz ms 或 o 等供应商前缀在多大程度上仍然有必要 如果我理解正确的话 opera 切换到了 webkit 所以会删除 o 对吗 IE 在 IE10 中不再
  • 如何在没有@import的情况下减少@import?

    我用的较少 从 Google PageSpeed 我了解到 使用 importCSS 文件中的内容会影响网站速度 所以我想排除任何 import来自我的 CSS 的东西 我有 2 个不同的样式表reset css and rebuild c
  • 为什么元素上的负底部边距会降低该元素父元素的高度?

    这可能是由于边距折叠造成的 我知道边距折叠 至少知道它如何影响相邻元素 但我不明白当涉及负边距时它如何在嵌套元素上工作 例如 在此标记和随附的 CSS 中 Markup div class parent div class child Ch

随机推荐

  • .babelrc 忽略字段似乎被忽略

    我有一个 babelrc项目根目录下的文件 presets es2015 ignore src 当我编译它时babel src out dir dist the src文件夹仍然编译到dist folder 但是 当我启动命令时babel
  • Expo Android 应用程序,PushNotifications 在独立 apk 中不起作用?

    我遇到一个问题 当我通过 expo 客户端应用程序运行应用程序时 PushNotifications 可以工作 但如果我正在构建独立的 apk 我需要安装 expo 客户端 才能获取推送令牌 而且 当expo客户端未打开时 我无法获取pus
  • 如何在C中返回二维字符数组(字符双指针)?

    我正在读取一个包含多行字符串 最大长度 50 个字符 的文件 为了存储这些字符串 我使用 calloc 创建了一个 char 双指针 我的代码的工作方式是 它在文件中找到一行 添加一个新行 char 和 50 列 char 然后存储该值 我
  • 当属性更改时如何重新渲染反应组件

    所以我有这个反应组件 带有一个具有 2 个值的下拉属性 SPFx 我需要当下拉列表更改时再次重新渲染反应 下拉列表定义从中检索值的数据源 Webpart ts import as React from react import as Rea
  • 如何在 Swing 应用程序中创建 HttpServletRequest 实例

    我有一个在 swing 中制作的桌面应用程序 我需要创建 HttpServletRequest 对象以通过 Web 服务将其传递给另一个应用程序 所以请建议我一些在简单的类中创建请求对象的好方法 Spring 有很好的 HttpServle
  • 如何让 MSBuild 忽略项目引用?

    我怎样才能得到MSBuild完全忽略所有
  • 如何指定无序图像列表?

    我试图弄清楚如何指定要转换为视频的特定图像列表 我确实知道我们可以做这样的事情 ffmpeg i image 04 d png 这将从文件夹中选取与序列匹配的所有图像 然而 就我而言 图像文件不一定按其名称所暗示的顺序排列 原因是订单保存在
  • 如何禁用保存时的警告?

    我尝试在没有警告的情况下保存 ActiveWorkbook SaveAs Filename C Users Owner Desktop xxx test xlsx ConflictResolution xlLocalSessionChang
  • 如何构建 next.js 生产?

    我尝试在 next js 中获取生产版本以在我的服务器上运行它 但当我尝试时无法构建 next js 生产版本 npm 运行构建 有谁知道如何让 next js 中的产品构建正常工作我在 next js 文档中做了所有操作 但总是在下面出现
  • 使用 appium-python-client 在 Android 中进行缩放操作

    有谁知道如何通过appium python客户端缩放android中的元素 我目前正在使用 self driver zoom self element percent 但这给出了一个错误 self driver zoom self elem
  • Django 是否以某种方式缓存 url 正则表达式模式?

    我是一个需要帮助的 Django 新手 即使我更改了 urls py 中的一些 url 我仍然从 Django 收到相同的错误消息 这是我的 settings py 中的相关行 ROOT URLCONF mydjango urls 这是我的
  • Pinescript 重复警报

    我用 pinescript 创建了一个非常基本的脚本 study title Renko Strat w Alerts shorttitle S EURUSD 5 MakisMooz overlay true rc close buy en
  • Selenium 与 Firefox 88 对 navigator.webdriver 进行了更改

    最新版本的 Firefox 88 包括bug fix https bugzilla mozilla org show bug cgi id 1632821如果浏览器通过 marionette 协议运行 则用户无法将 navigator we
  • NHibernate 将字符串参数转换为 nvarchar 而不是 varchar。我怎样才能阻止这个?

    我有一个映射到视图的类 并且正在搜索名字和姓氏以搜索患者记录 该视图最终查看患者表上的名字和姓氏字段 也可能是其他字段 具体取决于输入 当条件转换为 SQL 时 它会将我的字符串作为 nvarchar 参数输入 我已经在映射中使用了 typ
  • Graphics2D圆桌

    我正在尝试为 RGBike POV 构建一个用户界面 http www instructables com id RGBike POV Open project http www instructables com id RGBike PO
  • capistrano 错误:...../当前:没有这样的文件或目录

    我正在尝试使用 capistrano 进行部署 但是当我执行 cap deploy update 时 它 没有创建 current 文件夹 这是错误 有什么想法吗 executing cd home adamtodd apps homeba
  • jQuery - 选择给定行的第一个单元格?

    我有一张表格 其中一列包含图像 当我单击图像时 想要获取该行中第一列的文本值 我可以用这个得到整行 var a this parents tr text 但是 我无法隔离该行的第一个单元格 我试过了 var a this parents t
  • 如果我显然想访问隐藏的数据构造函数,有哪些可用的解决方案?

    我正在使用一个包 它在方便的 ReaderT monad 中携带东西 他们的 runReaderT unwrapping 函数位于隐藏模块中 我希望能够在任意环境下任意 手动解开它 因此 我对手动执行此操作没有任何疑虑 但是 环境类型有一个
  • 哪些模块随 Perl 一起分发?

    我如何知道哪些模块随 Perl 一起分发 我的第一个猜测是列出的核心模块here http perldoc perl org index modules A html总是包含在内 尽管我找不到明确的说明 但是 我使用了该集合之外的模块 例如
  • Flexbox 似乎忽略了 CSS 的特殊性

    我尝试以与以下相同的方式使用 Flex By DefaultFacebook 的 CSS 布局项目 https github com facebook css layout 在覆盖样式时我遇到了一些麻烦display inline flex