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 的特殊性 的相关文章

  • 如何在 HTML 中将文本设置为粗体?

    我正在尝试使用 HTML 将一些文本加粗 但我很难让它发挥作用 这就是我正在尝试的 Some
  • 在线 CSS 压缩不会消除 IE 黑客攻击

    是否有在线 CSS 压缩器不能消除任何 CSS 浏览器黑客攻击 例如 使用 cleancss com http www cleancss com 我设置的选项没有区别 它总是会删除 display用于 IE 显示内联块 hack a bor
  • Material-UI 中 Box 和 Grid 有什么区别?

    有什么区别Box https material ui com components box box and Grid https material ui com components grid grid在 Material UI 中 何时使
  • 当 SVG 是编码的 CSS 背景图像时,如何更改 SVG 颜色?

    我的 CSS 文件中编码了一个 SVG 图标 如何在悬停时更改其颜色而不具有不同颜色的重复图标 在我的 CSS 文件中 我有 background image url data image svg xml 3Csvg xmlns http
  • Bootstrap 3.0:全宽彩色背景,中心紧凑列

    我想要制作一个条纹商业主题 类似于 W3Schools 创建的主题 主题可以找到here http www w3schools com bootstrap bootstrap theme company asp 它的特点是水平部分 由不同的
  • CSS 选择器不是元素类型的子元素?

    我想要风格code不在里面的元素a tags 实现这一目标的最佳方法是什么 code not a code 似乎根本不起作用 至少在 Chrome 上 尽管它似乎应该 https developer mozilla org en docs
  • 如何在加载ajax内容和javascript时加载gif图像[重复]

    这个问题在这里已经有答案了 我一直在尝试加载 gif 图像 直到 ajax 加载数据并显示它 但我对此感到安慰 我希望你能帮助我 这是我的高级搜索代码 现在我想为此添加加载 gif ajax type POST url base rul s
  • phonegap 中的 HTML 按钮没有反应

    我有三个 HTML 按钮 当我单击它们时 没有外部发光 并且它们不执行任何操作 我也尝试过对它们进行样式设计 但它们仍保留默认设计 我刚刚使用了普通代码 我只是不知道它们出了什么问题
  • 在 html 中显示表单时使用 table 标签是不是不好的设计?

    我一直听到这样的话div标签应该用于布局目的 而不是table标签 那么这也适用于表单布局吗 我知道表单布局仍然是一个布局 但似乎使用以下命令创建表单布局divs 需要更多html and css 因此 考虑到这一点 表单布局应该使用div
  • MUI 组件上的渐变边框

    我没能找到相当于border image source css 我的目标是在按钮组件上渲染边框渐变 这是添加渐变边框的方法button成分 V5 const options shouldForwardProp prop gt prop gr
  • 如何检测浏览器中操作系统是否处于深色模式?

    如同 如何检测 OS X 是否处于深色模式 https stackoverflow com questions 25207077 how to detect if os x is in dark mode 仅适用于浏览器 有没有人发现是否有
  • CSS 属性名称中的“font-”与“text-”

    CSS 属性名称中使用的术语 文本 和 字体 有什么区别 它们的含义是否相同 或者以以下开头的 CSS 属性名称之间是否存在语义差异font 和一个开头text 例如 为什么我们有这些 CSS 属性 font size 34px text
  • Bootstrap 3 - 模态背景不会根据模态对话框的高度调整大小?

    我将一个表单放入模式中 并尝试在用户触发单选按钮时显示表单的一些隐藏字段 显示隐藏字段后 模态自动重新缩放的高度 但模态背景的高度不能用作模态对话框 我该如何解决它 div class modal fade div class modal
  • Bootstrap - 为反向行模式创建移动自适应

    我想用 Bootstrap 创建一个反向效果 第一行 左边是文字 右边是图像 第二行 左边是图片 右边是文字 第三行 左边是文字 右边是图片 第四行 左边是图片 右边是文字 而且这种情况一直持续下去 它在大型设备上看起来非常漂亮 但当它在设
  • css border-shadow 是否会增加元素的大小[重复]

    这个问题在这里已经有答案了 可能的重复 css box shadow 是元素盒子模型的一部分吗 https stackoverflow com questions 7036498 is css box shadow part of elem
  • CSS 关键帧动画的随机“起点”

    我有一个带有垂直滚动背景图像的框列表 keyframes movie 0 background position 50 5 50 background position 50 95 0 background position 50 5 mo
  • 如何使用溢出滚动设置 tbody 高度

    我在设置 tbody 高度宽度溢出滚动时遇到问题 h3 Table B h3 table style border 1px solid red width 300px display block thead tr td Name td td
  • 继承子节点的高度(A内的IMG)

    我的电脑上有一个漂亮的 CSS a 标签 放一个 img 链接内部使图像粘在链接外部 a 块 尽管它仍然可以点击 但看起来很愚蠢 改变 a to display block or float left修复了这个问题 但有一个不良的情况not
  • Div 上的倾斜边框

    我正在尝试倾斜一个 div 类似于 使用 css 倾斜 div 的顶部而不倾斜文本 https stackoverflow com questions 13591584 slant the top of a div using css wi
  • CSS 动画在 Internet Explorer 10 和 11 中不起作用

    以下 css 动画在 Chrome Mozilla Opera 浏览器中完美运行 但在 Internet Exporer 10 和 11 中不起作用 出了什么问题 请参见http jsfiddle net bm72w3n3 http jsf

随机推荐

  • .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