Zoom Vs. Échelle en CSS3
J'ai été la recherche de quelques propriétés css que je n'ai jamais utilisé et en est venu à connaître zoom
propriété de css3
-
Qu'est-ce que les similitudes et les différences entre eux?
-
Quand utiliser le Zoom et lors de l'échelle? Les deux fait à peu près le même travail.
-
Qui est plus efficace de les utiliser et Pourquoi?
Ce que j'ai remarqué?
-
les deux échelles de l'objet, mais par défaut de transformer l'origine de l'échelle de son centre et de son zoom en haut à gauche je pense;
-
lorsque nous les utilisons pour la mise à l'échelle sur le vol stationnaire, de zoom, de mise à l'échelle et, de nouveau, se rétrécit à l'origine dimention, tandis que l'échelle ne se rétrécir sur le vol stationnaire-out.
-->> jsfiddle montrant passez effectst**
CSS:
*
{
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-ms-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s;
}
box, box2
{
display: inline-block;
width: 100px;
height: 100px;
margin: 20px;
}
box
{
background: #b00;
}
box:hover
{
zoom: 1.1;
}
box2
{
background: #00b;
}
box2:hover
{
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
HTML:
<box></box>
<box2></box2>
Certains Stackoverflow QA
CSS:
div {
display: inline-block;
height: 50px;
width: 50px;
}
.one {
background: #07a;
-webkit-transform: scale(2);
-moz-transform: scale(2);
-ms-transform: scale(2);
-o-transform: scale(2);
transform: scale(2);
transform-origin: top top;
}
.two {
background: #eee;
zoom: 200%;
margin-left:100px;
}
.three {
background: #07a;
transform-origin: top left;
transition:all 0.6s ease;
}
.three:hover{
-webkit-transform: scale(2);
-moz-transform: scale(2);
-ms-transform: scale(2);
-o-transform: scale(2);
transform: scale(2);
}
.four {
background: #eee;
transition:all 0.6s ease;
}
.four:hover{
zoom: 200%;
}
HTML:
<h4>Already zoomed and scalled</h4>
<div class="one"></div>
<div class="two"></div>
<hr>
<h4>Zoomed and Scalled on hover</h4>
<div class="three"></div>
<div class="four"></div>
Vous devez vous connecter pour publier un commentaire.
Transformer est plus prévisible que le zoom dans les navigateurs.
Zoom affecte positionnement différemment dans les différents navigateurs.
exemple:
position:absolute; left:50px; zoom: 50%;
left
valeur.25px
. Effectivement il faitleft = left * zoom
. Mais DevTools Valeurs Calculées dans DevTools affichera toujours lesleft: 50px
, même si ce n'est effectivement pas vrai en raison de la zoom.Transformation est traité de la même façon dans tous les navigateurs (autant que je puisse en dire).
exemple:
position:absolute; left:50px; transform: scale(0.5)
left
seraient effectivement mis à25px
en Chrome et IE. (encore une fois, les valeurs calculées ne sera toujours pas en tenir compte, il afficheleft:50px
)left
valeur, il suffit d'utilisertransform-origin: 0 0
. Qui va assurer la gauche est encore 50px.Démo: http://jsfiddle.net/4z728fmk/ montre 2 boîtes où le petit est agrandie ou réduite pour 50%. Ressemble à ceci:
edit: img mis à jour 2016-06-16 avec Firefox (rien n'a changer dans Chrome ou IE depuis la dernière fois)
Complémentaires à Drkawashima réponse:
zoom
ne fonctionne pas dans Firefox à tous. Voir caniusezoom: 1;
a été la puissante déclaration qui a contribué à déboguer IE6. Il confère à l'élément il a été appliqué à l'interne une "switch" pour ce navigateur nommé hasLayout (pas une propriété CSS, juste un concept comme "clearfix" est). Vous trouverezposition: relative; zoom: 1;
beaucoup de vieux projetszoom
ne fonctionne pas avec les animations css outransition
bienséance:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties