2010-11-19 6 views
2

一部のブラウザ(Firefox)では、getComputedStyle().getPropertyValue()は簡略化されたCSSとしてはborderのようなものは報告しません。これらの簡略なCSS値を取得するための具体的でないコードの方法はありますか?私は、簡略化されたCSSとそれぞれの長さのCSS値のホワイトリストを作成することを検討しました。しかし、これをやっていくことは大きな苦労と非順応性のデザインの両方であることがわかっています。getComputedStyle()。getPropertyValue()でボーダー値を取得しますか? (Mozilla、FF)

答えて

2

文字列のように何をしたいのですか?border: 1px solid #000のようなものがありますか?

は、あなたがそれcopyStyle(el2, el, "border")をコピーするためにelems 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() : ''; 
    }); 
} 

スタイルの試合の2つの要素の指定されたセットは、同じ方法で行うことができるかどうかを比較します。それ以外は、実際に文字列を使うことはできません。文字列を使って何かを計算したいのであれば、解析する必要があります。

関連する問題