Google Chrome - Flexbox + overflow-x:auto
Google Chrome - Flexbox + overflow-x:auto
我对 Google Chrome、flexbox 和溢出有一个奇怪的问题。
当容器处于 flexbox 模式并且子级开始水平溢出时(假设您通过 javascript 更改内容的宽度),滚动条出现但无法操作。
强制浏览器重绘(例如通过调整大小)将使滚动条再次起作用。
这是一个例子:http://jsfiddle.net/w8rtk2de/3/
- 在GoogleChrome
- 尝试滚动段落
- 在 "Toggle class" 上单击两次以移除卷轴并重新设置它
- 再次尝试滚动(滚动不起作用)
- 调整window大小以强制重绘
- 滚动再次起作用
- 这似乎只发生在容器处于 display flex 时。
$('#toggle').on('click', function(e) {
$('#target').toggleClass('overflowing');
});
.overflowing {
overflow-x: auto;
white-space:nowrap;
}
.row {
display: flex;
}
.col {
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p><a id="toggle" href="#">Toggle class</a></p>
<div class="row">
<div class="col">
<div id="target" class="overflowing">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis aspernatur reiciendis amet libero quasi laborum unde sint eum dolores vitae dolorum autem nihil quae voluptatum illo a atque velit placeat.</p>
</div>
</div>
</div>
如果有人能快速解决这个问题,那就太好了。
好的,快点到这里:
我添加了 position:relative 和 z-index:1;
.overflowing {
overflow-x: auto;
white-space:nowrap;
position: relative;
z-index: 1;
}
我对 Google Chrome、flexbox 和溢出有一个奇怪的问题。
当容器处于 flexbox 模式并且子级开始水平溢出时(假设您通过 javascript 更改内容的宽度),滚动条出现但无法操作。
强制浏览器重绘(例如通过调整大小)将使滚动条再次起作用。
这是一个例子:http://jsfiddle.net/w8rtk2de/3/
- 在GoogleChrome
- 尝试滚动段落
- 在 "Toggle class" 上单击两次以移除卷轴并重新设置它
- 再次尝试滚动(滚动不起作用)
- 调整window大小以强制重绘
- 滚动再次起作用
- 这似乎只发生在容器处于 display flex 时。
$('#toggle').on('click', function(e) {
$('#target').toggleClass('overflowing');
});
.overflowing {
overflow-x: auto;
white-space:nowrap;
}
.row {
display: flex;
}
.col {
width: 100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p><a id="toggle" href="#">Toggle class</a></p>
<div class="row">
<div class="col">
<div id="target" class="overflowing">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Officiis aspernatur reiciendis amet libero quasi laborum unde sint eum dolores vitae dolorum autem nihil quae voluptatum illo a atque velit placeat.</p>
</div>
</div>
</div>
如果有人能快速解决这个问题,那就太好了。
好的,快点到这里:
我添加了 position:relative 和 z-index:1;
.overflowing {
overflow-x: auto;
white-space:nowrap;
position: relative;
z-index: 1;
}