CSS3 transform matrix矩阵与3D缩放实例页面
回到相关文章 »代码:
CSS代码:
.matrix_box { width: 150px; height: 150px; background-color: #a0b3d6; box-shadow:2px 2px 4px rgba(0,0,0,.6); }
HTML代码:
<p id="matrixDetail">目前属性值为:matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)</p> <div id="matrixBox" class="matrix_box"></div> <p><button id="matrixBtn">随机比例变换</button></p>
JS代码:
(function() { var $ = function(selector) { return document.querySelector(selector); }; var $css3Transform = function(element, value) { var arrPriex = ["O", "Ms", "Moz", "Webkit", ""], length = arrPriex.length; for (var i=0; i < length; i+=1) { element.style[arrPriex[i] + "Transform"] = value; } }; var eleDetail = $("#matrixDetail"), eleBtn = $("#matrixBtn"), eleBox = $("#matrixBox"); if (eleDetail && eleBtn && eleBox) { eleBtn.addEventListener("click", function() { var scaleX = Math.random(), scaleY = Math.random(), scaleZ = Math.random(); var valTransform = 'matrix3d('+ scaleX.toFixed(6) +', 0, 0, 0, 0, '+ scaleY.toFixed(6) +', 0, 0, 0, 0, '+ scaleZ.toFixed(6) +', 0, 0, 0, 0, 1)'; eleDetail.innerHTML = '目前属性值为:' + valTransform; $css3Transform(eleBox, valTransform); }); } })();
效果:
目前属性值为:matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)