【发布时间】:2020-01-03 22:54:50
【问题描述】:
我正在寻找例如。 “宽度:最小内容”不是“宽度:210px”或“绿色”而不是“rgb(0,255,0)”。所以$(elem).css("width") 不是我要搜索的。
我从 MDN 获取命名(指定或计算)
CSS 属性的指定值是值 它从文档的样式表接收。给定属性的指定值 根据以下规则确定:...
CSS 属性的 computed 值是传输的值 在继承期间从父级到子级。它是从计算 指定值:...
对比:
CSS 属性的解析值是返回的值 getComputedStyle()。
对于大多数属性,它是计算值,但对于少数遗留 属性(包括宽度和高度),它是 而不是使用的值。
CSS 属性的使用值是其经过所有计算后的值 已对计算值执行。
一个原因是,我过度使用了一些布局以(几乎)仅隐式大小,如果我错过了 CSS 文件中的显式宽度,我会警告自己。
另一个是,我想帮助网格显示可变数量的元素,以更“方形”的方式放置它,具体取决于可用空间。因此,我需要知道网格项的规范是最小内容还是最大内容。
编辑:遍历样式表不是一个解决方案——这意味着对 CSS 的整个继承进行编程......
【问题讨论】:
-
IRRC,您在 JS 中唯一真正的选择是使用
getComputedStyle()计算样式(或解析值,如您定义)或元素上的style属性。 -
如何使用 CSS flexbox。你看起来像这样吗https://jsfiddle.net/eptzoqra/
-
@AndroidNoobie:谢谢,但这不是“我的定义”;我从 MDN 拿来的。经常混淆:developer.mozilla.org/en-US/docs/Web/CSS/resolved_value
-
是的,我知道,我的意思是使用您提供的定义。
-
@DeepuReghunath:虽然这只是问题的一个原因:我现在使用 Flex;我想要编程的是一种更智能的传播方式:简而言之:如果不是全部 8 个,则将 2 行 4 个放在一行中。不是 7 和 1。(或 3 行 3/3/2)但这个问题是关于获取指定的 css 值。
标签: javascript css