仅在 Safari 中 Css 列高度不正确

标签 css safari css-multicolumn-layout

这段代码在 Chrome/Firefox 中运行良好,但在 Safari 中,我的 3 列 div 下面的内容被向下推得比它应该的要远得多,就好像列内容被压缩在一个列中一样。

这可以在这里看到:http://codepen.io/anon/pen/egxvqP

enter image description here

相关代码:

.postIntro {
  width: 100%;
  display: inline-block;
  margin-top: 18px;
  column-count: 3;
  column-gap: 30px;
  column-fill: balance;
}

最佳答案

我目前的修复是使用 js 获取 div 高度,然后将 margin top 更改为 div 高度的负值,但如果有一些非 js 修复我会很高兴...我需要这在 10 个地方发生这种情况的页面上工作,代码只有在一次时才真正起作用。

看这里 http://codepen.io/anon/pen/OWdmXj

if (navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1)  { 
    columnHeight = $('#columns').outerHeight();
    $("#contentAfter").css('margin-top', -columnHeight);
}

<罢工>

将显示从内联 block 中移开可以修复它。

关于仅在 Safari 中 Css 列高度不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42216787/

相关文章:

css - 使用最小高度页眉/页脚时如何占用 div 中的所有空间

internet-explorer - IE 8+ 中的 CSS 渐变适用于网站的所有部分,除了一个

html - 更改 div 顺序,如果它换行/溢出,没有媒体查询

css - 防止多列布局中的元素碎片

html - CSS 列布局隐藏空列

android - 如何在不裁剪不同尺寸显示器的情况下设置背景图像?

xcode - 为什么我可以在其他计算机上运行我签名的 Safari 应用扩展,但不能在我开发它的计算机上运行?

javascript - PDF 中的 anchor 标记在 firefox 和 safari 中不可点击

html - 使用单个普通列表自动创建列

JavaScript:哪些浏览器支持使用 Date.parse 解析 ISO-8601 日期字符串