谈谈关于scale属性

scale是什么?

根据W3C定义 ,scale主要是进行缩放和转化:

scale能做什么?

1.1px细线

  <div class="wrap">
<div class="UI-scale1"></div>
<div class="UI-scale2"></div>
<div class="UI-scale3"></div>
</div>

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;
}
}

2.页面适配

  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+')'
})
}
}

3.动画(参考animate.css)

@-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)
}
}

scale的属性会影响那些属性和布局

HTML代码

  <div class="wrap">
<div class="UI-scale1"></div>
<div class="UI-scale2"></div>
<div class="UI-scale3"></div>
</div>

CSS代码

.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属性不会引起重排,会导致父元素的高度和宽度都不会受到影响.

scale和zoom差异

1.zoom引起重排,scale不会引起;缩放的中心点,zoom不能更改,而scale可以更改

2.重排导致的性能

1.scale会只会引起了当前元素

2.zoom会引起重排,所以会影响全部元素

最新文章

  1. 选中repeater表格中的一行使其变色
  2. MYSQL加锁的测验
  3. Designing a CSS based template
  4. UVALive 6665 Dragon&#226;€™s Cruller --BFS,类八数码问题
  5. LMAO?
  6. sql server 2008 R2 配置开启远程访问
  7. ASP.NET中实现页面间的参数传递
  8. Bug疑难杂症 - java.lang.NoSuchFieldError: udhLen
  9. 知名IT企业待遇一览表
  10. asp.net+Sqlserver 通过存储过程读取数据
  11. RR模式下的事务隔离
  12. 主机Window不能访问该虚拟机Linux Samba文件服务提供了一个文件夹
  13. 至linuxNIC添加多个IP
  14. canvas图表(2) - 折线图
  15. Oracle12c中多宿主容器数据库(CDBs)和可插拔数据库(PDBs)新特性之运行脚本
  16. Python脚本字符集问题
  17. Django组件——分页器和中间件
  18. macbook hive安装
  19. JSP的简单介绍
  20. 跨域(三)——JSONP

热门文章

  1. pandas补充(其二)与matplotlib补充
  2. C#comboBox取消SelectedIndexChanged事件
  3. Python+requests接口自动化完整项目框架整理笔记
  4. react 16.8版本新特性以及对react开发的影响
  5. 空顺序表的实现(基于c语言)
  6. MySQL — 索引
  7. Docker——时间配置
  8. nginx反向代理出现了代理的端口号
  9. C249: &#39;DATA&#39;: SEGMENT TOO LARGE“解决方法 | keilC51设置编译模式:SMALL,COMPACT,LARGE
  10. 如何使用docker制作开发集成环境