为什么 Firefox 在元素嵌套第二级后停止呈现嵌套的多列布局,以及如何修复?

如何解决为什么 Firefox 在元素嵌套第二级后停止呈现嵌套的多列布局,以及如何修复?

我正在研究用于正确显示嵌套多列布局的旧代码库。大约一年前的某个时候,Firefox 浏览器停止正确布置嵌套列,而 Chrome 仍在工作。所以我决定检查一下。

归结为“column-count”CSS 属性的使用。如果用于嵌套超过两层的 HTML 元素,看起来当前的 Firefox 浏览器完全忽略它。

有没有人注意到类似的问题,让我们想知道为什么嵌套的实现会在第二级停止?

这是一个代码笔:

https://codepen.io/Jorich/pen/rNjVPxK

div {
  column-rule: red solid 3px;

  margin: 3px;
  padding: 3px;
  border: 3px solid lightgray;

  -moz-page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  break-inside: avoid;
  -o-column-break-inside: avoid;
  -ms-column-break-inside: avoid;
  column-break-inside: avoid;
  page-break-inside: avoid;
}
<div style="column-count: 2;">
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div>1</div>
  <div style="column-count: 2;">
    <div>2</div>
    <div>2</div>
    <div>2</div>
    <div>2</div>
    <div>2</div>
    <div>2</div>
    <div style="column-count: 2;">
      <div>3</div>
      <div>3</div>
      <div>3</div>
      <div>3</div>
      <div style="column-count: 2;">
        <div>4</div>
        <div>4</div>
      </div>
    </div>
  </div>
</div>

Chrome 显示 4 级嵌套:

Chrome showing 4 levels of nesting

Firefox 停止在第 2 级嵌套:

Firefox stopping at level 2 of nesting

今天,差不多一年后,行为没有改变,尽管我原以为这是一两个版本的 Firefox 浏览器的临时故障;相反,它仍然存在,就像预期的功能一样。在那段时间里,我对其他有类似问题的人进行了深入的网络搜索,但没有发现任何可以让我回到解决问题的道路上的观察结果。

除了彻底替换整个嵌套多列方法之外,您还会做什么?任何提示都会非常有用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?