javascript - 如果需要,添加溢出——相当于 if 语句的 CSS

标签 javascript css if-statement

在这个 fiddle 中:https://jsfiddle.net/9erLby1o/4/ ,如果需要,我会使用 JS 添加溢出属性。 如果我的 table 的容器小于 table 的宽度。 这是在以下 js 行中完成的:

for(var el=0; el<document.querySelectorAll("table").length; el++){
    if (document.querySelectorAll("table")[el].parentElement.offsetWidth < document.querySelectorAll("table")[el].offsetWidth ){
        document.querySelectorAll("table")[el].parentElement.classList.add("overflow");
    }
}

我想知道在纯 CSS 中是否可以实现类似的东西。

我有点受到 checkbox hack 的影响,它暗示了 if 语句,但我无法访问 css 中元素的属性,所以我想看看如何以及是否可以在这种情况下使用它。

最后我想知道为什么在这种情况下我应该更喜欢 CSS 而不是 javascript。 (我能想到的唯一可能的原因是,由于 CSS 的使用是不可避免的,它应该能够处理应用程序的所有样式。但我可能是错的)

最佳答案

您可以在表的容器上使用 overflow: auto; 属性来实现这一点。如果子元素的大小变得大于父元素的大小,此属性会自动添加滚动条。

你应该为此使用 css,因为你不想编写多行 JS 函数来实现你可以用 css 中的一行来做的事情。希望对您有所帮助。

关于javascript - 如果需要,添加溢出——相当于 if 语句的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40975448/

相关文章:

css - Luma 主题 Magento 2 和促销标签

Swift 执行一个简单的测试并将结果传递给函数的参数

java - 获取总和与给定数字匹配的连续数字

r - 带有 ifelse 和两个对象的自定义函数需要以动态方式从正确的列中读取 R

Javascript获取系统双击间隔?

javascript - jQuery 查找功能不起作用

javascript - 如何通过node.js server-sent-event发送命令行输出并在浏览器中显示它

javascript - 为什么 IE 和 FF 不会为输入类型日期返回正确的属性或类型

html - 鼠标悬停不会在旋转的 div 上注册

html - 禁用 :focus and a:active color?