2016-11-22 68 views
0

我有了较大的宽度表,所以我试图让包含这些表的滚动如下所有div:制作DIV滚动取决于其子

div.ui-widget-content:has(table){ 
    overflow: auto; 
} 

Unfurtunately这个没有工作,我不知道为什么,因为我使用支持CSS4选择器的最新版本的铬(54.0.2840.99),并且它必须根据此网站工作:http://caniuse.com/#feat=css-has

我知道它是如何使用jQuery中的has方法完成的,但我需要使用CSS才能完成此操作。

当我力量,在开发工具overflow: auto;,它的工作原理,所以,问题在于我使用的选择,你可以在这个图片中看到:

enter image description here

那么怎么可以解决这个?

+0

[** This **](http://caniuse.com/#feat=css-has)链接表明':has'选择器在任何浏览器中都不受支持。 –

+0

您可能需要在Chrome中启用实验性功能。转到此网址:chrome://标志,然后选择'启用实验性Web平台功能',然后重新启动Chrome ... –

+0

此外,您发送的链接表明它不兼容... –

回答

0

目前没有CSS4或has()伪类的东西。

确实某些CSS模块在Level4,但与CSS4不同。 ()伪造类很可能不会实现,由于'逻辑原因'(CSS下降的元素树,按顺序可视化元素 - :has()会强制它必须“向后”(在树上),这意味着更多的资源消耗)。我很害怕JS(/ jQuery)是你不得不去做的方式。 喜欢的东西:对特定类汽车:

$("div").has("table").css("overflow","auto"); 
+0

恐怕JS(/jQuery)是你不得不去做的方式。 –

0

如果你给有表一类独特的这些div的div,你可以设置溢出。类似这样的:

<div class="ui-widget-content contains-table"> 
{your table here} 
</div> 

然后在.contains-table类上设置overflow:auto。