CSS3 3d 変換をサポートしていないブラウザーに別のスタイルを適用しようとしています。しかし、何らかの理由で、Opera でページをプレビューすると、(私の知る限り) CSS3 3d 変換をサポートしていなくても、3D ブラウザーのスタイルが適用されます。
function has3d() {
var threedee, has3d;
threedee = document.createElement('div');
threedee.style['transform'] = 'matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)';
document.body.insertBefore(threedee, document.body.lastChild);
has3d = window.getComputedStyle(threedee).getPropertyValue('transform');
if( has3d !== undefined ){
//Apply styles for awesome browsers that do support 3d
}
else {
//Apply Styles for lame browsers that don't support 3d
}
}
条件付きでクラスを切り替えると、クロム、サファリ、およびファイアフォックスで機能するため、スクリプトが機能していることはわかっています。Opera が 3D 変換をサポートしていると言っているように見える理由がわかりません。オペラのために何か特別なことをする必要がありますか?