CSS中zoom和scale的區別


轉自:http://www.web-tinker.com/article/20610.html

zoomscale這兩個東西都是用於對元素的縮放,但兩者除了兼容性之外還有一些不同的地方。zoom縮放會將元素保持在左上角,而scale默認是中間位置,可以通過transform-origin來設置。另外他們執行的渲染順序也不同zoom可能影響到盒子的計算。
運行<!DOCTYPE html>
<style>
div {
  width
:300px;height:100px;
  border
:1px solid #CCC;
  font-size
:0px;
  line-height
:100px;
  margin
:10px;
}
span {
  display
:inline-block;
  height
:80px;width:200px;background:#F5F5F5;
  vertical-align
:middle;
  overflow
:hidden;
}
</style>
<div>
  <span style="-webkit-transform:scale(0.5);"></span>
</div>
<div>
  <span style="
    -webkit-transform-origin:top left;
    -webkit-transform:scale(0.5);
  
"></span>
</div>
<div>
  <span style="zoom:0.5;"></span>
</div>

  第一個測試中只設置了scale,於是元素以自己的中心為基點做縮放。第二個測試中不僅設置了scale,還有origin來將縮放的基點設置到左上角,因此變化結束后元素呆在了左上角。雖然容器設置了和高度一樣的行高,當它並沒有在容器里居中,因為scale是先布局后變換的,變換不會對布局產生影響。最后一個測試是使用zoom,雖然Firefox上不支持,但這是個很古老的特性了。它和第二個測試的區別是它先縮放,后計算布局。所以在例子中它得到了垂直居中效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM