Chrome 列宽呈现问题
Chrome Rendering Issue with column-width
我发誓这曾经可以正常工作,它在 iOS 下的 Safari 中仍然可以正常工作,但由于某种原因,它在 Chrome 中被破坏了,显然(根据我们的客户)在 IE 11 中。
基本设置在这里:
http://codepen.io/mattlacey/pen/BpEvWE
如果 transform: translateZ(0);
被注释掉,那么最初在屏幕外的所有内容都不会被渲染,有了它,硬件加速渲染就会被强制执行并被渲染。现在的问题是,即使它被渲染了,元素也不能与之交互。我设置了两个 onclick
内联脚本,一个在 "A.L.C" 上,一个在 "KAREN WALKER EYEWEAR" 上。单击第一个有效,而第二个无效,因为它位于一个仅因转换而显示的元素中。
是否有已知的解决此问题的方法?
我不确定为什么会发生这种情况,但是如果您删除 overflow-x 和 transform 属性,屏幕外的内容将变得可点击。
.filter-values-indexed{
column-width: 165px;
/*overflow-x: auto;*/
max-height: 250px;
/*transform: translateZ(0);*/
}
此水平滚动条将移动到页面底部。根据您的具体需求,这可能是一个临时修复。
如果您可以编辑 HTML,加上一些额外的标记,则可以解决将 .filter-values-indexed div 包装在另一个元素中并应用溢出到这个新元素。
HTML:
<div class="wrap">
<div class="filter-values-indexed">
[...]
</div>
</div>
CSS:
.wrap{
overflow-x:scroll;
}
.filter-values-indexed{
width:100vw;
column-width: 200px;
max-height: 250px;
}
我发誓这曾经可以正常工作,它在 iOS 下的 Safari 中仍然可以正常工作,但由于某种原因,它在 Chrome 中被破坏了,显然(根据我们的客户)在 IE 11 中。
基本设置在这里:
http://codepen.io/mattlacey/pen/BpEvWE
如果 transform: translateZ(0);
被注释掉,那么最初在屏幕外的所有内容都不会被渲染,有了它,硬件加速渲染就会被强制执行并被渲染。现在的问题是,即使它被渲染了,元素也不能与之交互。我设置了两个 onclick
内联脚本,一个在 "A.L.C" 上,一个在 "KAREN WALKER EYEWEAR" 上。单击第一个有效,而第二个无效,因为它位于一个仅因转换而显示的元素中。
是否有已知的解决此问题的方法?
我不确定为什么会发生这种情况,但是如果您删除 overflow-x 和 transform 属性,屏幕外的内容将变得可点击。
.filter-values-indexed{
column-width: 165px;
/*overflow-x: auto;*/
max-height: 250px;
/*transform: translateZ(0);*/
}
此水平滚动条将移动到页面底部。根据您的具体需求,这可能是一个临时修复。
如果您可以编辑 HTML,加上一些额外的标记,则可以解决将 .filter-values-indexed div 包装在另一个元素中并应用溢出到这个新元素。
HTML:
<div class="wrap">
<div class="filter-values-indexed">
[...]
</div>
</div>
CSS:
.wrap{
overflow-x:scroll;
}
.filter-values-indexed{
width:100vw;
column-width: 200px;
max-height: 250px;
}