根据W3C定义 ,scale主要是进行缩放和转化:javascript
<div class="wrap"> <div class="UI-scale1"></div> <div class="UI-scale2"></div> <div class="UI-scale3"></div> </div>
CSS代码css
.wrap{ position: relative; } .UI_scale1{ position: relative; width: 200px; height: 50px; border-bottom:1px solid #000; } .UI_scale2{ position:relative; top: 0px; left: 0px; width: 200px; height: 50px; border-bottom: 1px solid #000; } @media screen and (-webkit-min-device-pixel-ratio:2){ .UI_scale2{ transform: scale(1,0.5); transform-origin:left center; } }
function scale(){ var origin_H = 667, origin_W = 375, win_H = $(window).height(), win_W = $(window).width(); var ratio1 = win_H / origin_H , ratio2 = win_W / origin_W ; if(ratio1<ratio2){ $('.page1-wrap').css({ '-webkit-transform':'scale('+ratio1+')' }) } else{ $('.page1-wrap').css({ '-webkit-transform':'scale('+ratio2+')' }) } }
@-webkit-keyframes pulse { 0% { -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1) } 50% { -webkit-transform: scale3d(1.05,1.05,1.05); transform: scale3d(1.05,1.05,1.05) } 100% { -webkit-transform: scale3d(1,1,1); transform: scale3d(1,1,1) } }
HTML代码html
<div class="wrap"> <div class="UI-scale1"></div> <div class="UI-scale2"></div> <div class="UI-scale3"></div> </div>
CSS代码java
.wrap{ position: relative; background-color: #ccc; } .UI_scale1{ position: relative; top: 0px; width: 100px; height: 50px; font-size:14px; line-height: 24px; margin-left: 50px; padding: 50px; border-bottom:1px solid #000; background-color: red; } .UI_scale2{ position: relative; top: 0px; width: 100px; height: 50px; font-size:14px; line-height: 24px; margin-left: 50px; padding: 50px; border-bottom:1px solid #000; transform: scale(0.5); background: blue; transform-origin: center center; }
如图所示能够直接影响到全部带px的属性,可是因为scale属性不会引发重排,会致使父元素的高度和宽度都不会受到影响.web
1.scale会只会引发了当前元素布局
2.zoom会引发重排,因此会影响所有元素性能