在某些浏览器(即 Firefox)中getComputedStyle().getPropertyValue()
不报告任何简写 CSS 的内容,例如border
。是否有一种非特定代码的方式来获取这些速记 CSS 值?我考虑过制作一个速记 CSS 及其各自的速记 CSS 值的白名单。但我意识到这样做既会很痛苦,而且是不向前兼容的设计。
我想知道,你想用 a 做什么string like border: 1px solid #000
?
假设你想重现一个元素border
为了复制它copyStyle(el2, el, "border")
:
// Copies a set of styles from one element to another.
function copyStyle(dest, source, shorthand) {
var computed = window.getComputedStyle(source, null);
for (var i = computed.length; i--;) {
var property = camelize(computed[i]);
if (property.indexOf(shorthand) > -1) {
console.log(property)
dest.style[property] = computed[property];
}
}
}
// prototype.js
function camelize(text) {
return text.replace(/-+(.)?/g, function (match, chr) {
return chr ? chr.toUpperCase() : '';
});
}
可以以相同的方式比较两个元素的给定样式集是否匹配。除此之外,我真的看不到字符串的使用,如果你想用它来计算任何东西,应该解析它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)