html - 使用 flexbox 在 Safari 6 中并排滚动

标签 html css safari scroll flexbox

我正在尝试使用 flexbox 构建两个并排的可滚动面板:

HTML:

<div class"scrollable"></div>
<div class"scrollable"></div>

SASS

@import "flex"

*
  padding: 0
  margin: 0

html
  height: 100%

body
  height: 100%
  width: 100%
  +flexbox()

.scrollable
  overflow-y: auto
  min-height: 0
  +flex-grow(1)

它在最新版本的 Chrome 和 Firefox 中完美运行,但在 Safari 6 中缺少滚动条。任何想法为什么会这样?

我正在为 flexbox 使用这个 mixin,它应该支持 Safari 的 flexbox 实现:https://github.com/mastastealth/sass-flex-mixin/blob/master/flex.scss

最佳答案

Flexbox 2009 不仅仅是 Flexbox 规范的一个版本,它具有不同的名称和更少的属性。两者之间有许多微妙的东西无法转换,而且 2009 Flexbox 规范的每个实现都存在错误。

无论出于何种原因,将高度设置为 100% 而不是使用 min-height 0,有助于 Safari 确定它需要添加滚动条(并且似乎不会对其他浏览器产生负面影响) .

http://cssdeck.com/labs/4plssmrq

/* line 5, ../sass/rar.sass */
* {
  padding: 0;
  margin: 0;
}

/* line 9, ../sass/rar.sass */
html {
  height: 100%;
}

/* line 12, ../sass/rar.sass */
body {
  height: 100%;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
}

/* line 17, ../sass/rar.sass */
.scrollable {
  overflow-y: auto;
  height: 100%;
  width: 50%;
  -webkit-box-flex: 1;
  -moz-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

关于html - 使用 flexbox 在 Safari 6 中并排滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153901/

相关文章:

javascript - 如何以较低的不透明度保持 SVG 颜色强度

iphone - Mobile Safari 中的最大图像宽度?在全景上进行不必要的缩小

javascript - 根据屏幕/窗口/设备大小制作网页拉伸(stretch)(或缩小)

javascript - 为什么 C++ CGI form_iterator 值没有进入 XMLHttpRequest 异步 Ajax 请求?

CSS 未在 IE/Edge 中更新?

javascript - 测试 toLocaleString 支持

safari - 出现Safari弹出窗口,并链接到appstore中的我的应用程序

html - <noscript> 东西 </noscript> 不适用于谷歌浏览器

javascript - 使用 jquery 检测光标是否在定义的区域中

html - 防止背景图像在 CSS 动画期间调整大小并消除闪烁