oujood.com

CSS3 La propriété transform-origin 


.......................

chercher |

...


Les propriétés CSS

Exemple Définir le placement de base d’une rotation d’un élément :

Sélectionner le code
<!DOCTYPE html>
<html>
<head>
<style>
#div1
{
position: relative;
height: 200px;
width: 200px;
margin: 100px;
padding:10px;
border: 1px solid black;
}
#div2
{
padding:50px;
position: absolute;
border: 1px solid black;
background-color: #f0f;
transform: rotate(45deg);
transform-origin:20% 40%;
-ms-transform: rotate(45deg); /* IE 9 */
-ms-transform-origin:20% 40%; /* IE 9 */
-webkit-transform: rotate(45deg); /* Safari et Chrome */
-webkit-transform-origin:20% 40%; /* Safari et Chrome */
}
</style>
</head>
<body>
<div id="div1">
  <div id="div2"> B O N J O U R </div>
</div>
</body>
</html>

Appui de navigateur

Internet Explorer Firefox Opera Google Chrome Safari

La propriété transform-origin est prise en charge dans Internet Explorer 10, Firefox et Opera.

Internet Explorer 9 prend en charge une solution de rechange, la propriété -ms-transform-origin, mais seulement pour 2D-transformations.

Safari et Chrome prend en charge une solution de rechange, la propriété - webkit-transform-origin, sur les deux 2D et 3D-transfoms.

Opera supporte uniquement les transformations 2D.


Définition et utilisation

La propriété transform-origin vous permet de modifier la position des éléments transformés.

Pour l’élément transformé 2D on peut changer sa position sur les axes x et y de l'élément. 

Pour l’élément transformé 3D on peut également modifier l'axe z de l'élément.

Pour mieux comprendre la propriété transform-origin, voici un exemple :

  Sélectionner le code
<!DOCTYPE html>
<html>
<head>                                           
<style>
#div1
{
position: relative;
height: 200px;
width: 200px;
margin: 50px;
padding:10px;
border: 1px solid black;
}
#div2
{
padding:40px;
position: absolute;
border: 1px solid black;
background-color: blue;
transform: rotate(0deg);
transform-origin:10% 20%;
-ms-transform: rotate(0deg); /* IE 9 */
-ms-transform-origin:10% 20%; /* IE 9 */
-webkit-transform: rotate(0deg); /* Safari et Chrome */
-webkit-transform-origin:20% 20%; /* Safari et Chrome */
-moz-transform: rotate(0deg); /* Firefox */
-moz-transform-origin:10% 20%; /* Firefox */
-o-transform: rotate(0deg); /* Opera */
-o-transform-origin:10% 20%; /* Opera */
}
</style>
<script>
function changeRotation(value)
{
document.getElementById('div2').style.transform="rotate(" + value
+ "deg)";
document.getElementById('div2').style.msTransform="rotate(" +
value + "deg)";
document.getElementById('div2').style.webkitTransform="rotate(" +
value + "deg)";
document.getElementById('div2').style.MozTransform="rotate(" +
value + "deg)";
document.getElementById('div2').style.OTransform="rotate(" +
value + "deg)";
document.getElementById('span1').innerHTML=value + "deg";
}
function changeOrigine()
{
var x=document.getElementById('ox').value;
var y=document.getElementById('oy').value;
document.getElementById('div2').style.transformOrigin=x + '% ' +
y + '%';
document.getElementById('div2').style.msTransformOrigin=x + '% '
+ y + '%';
document.getElementById('div2').style.webkitTransformOrigin=x +
'% ' + y + '%';
document.getElementById('div2').style.MozTransformOrigin=x + '% '
+ y + '%';
document.getElementById('div2').style.OTransformOrigin=x + '% ' +
y + '%';
document.getElementById('origine').innerHTML=x + "% " + y +
"%";           
}
</script>
</head>
<body>
<p>Rotation du div bleu on changeant l'axe X et l'axe
Y:</p>
<div id="div1">
  <div id="div2"> Bonjour </div>
</div>
Rotation:
<input type="range" min="-360" max="360" value="0"
onchange="changeRotation(this.value)" />
transformation: rotation sur l'axe Y de :(<span
id="span1">0deg</span>);
<br><br>
X-axe:<input type="range" min="-100" max="200" value="10"
onchange="changeOrigine()" id="ox" /><br>
Y-axe:<input type="range" min="-100" max="200" value="20"
onchange="changeOrigine()" id="oy" />
transform-origin: <span id="origine">10% 20%</span>;
</body>
</html>                                 
 

Remarque : Cette propriété doit être utilisée conjointement avec la propriété transform .

Pour mieux comprendre cette propriété pour 3D transforme, voici un exemple :

  Sélectionner le code
<!DOCTYPE html>
<html>
<head>
<style>
#div1
{
position: relative;
height: 200px;
width: 200px;
margin: 50px;
padding:10px;
border: 1px solid black;
}
#div2
{
padding:50px;
position: absolute;
border: 1px solid black;
background-color: red;
transform: rotateY(70deg);
transform-origin:50% 50% 100px;
-webkit-transform: rotateY(70deg); /* Safari et Chrome */
-webkit-transform-origin:50% 50% 100px; /* Safari et Chrome */
}
</style>
<script>
function changeRotation(value)
{
document.getElementById('div2').style.transform="rotateY(" +
value + "deg)";
document.getElementById('div2').style.webkitTransform="rotateY("
+ value + "deg)";
document.getElementById('div2').style.MozTransform="rotateY(" +
value + "deg)";
document.getElementById('div2').style.OTransform="rotateY(" +
value + "deg)";
document.getElementById('persp').innerHTML=value + "deg";
}
function changeOrigine()
{
var x=document.getElementById('ox').value;
var y=document.getElementById('oy').value;
var z=document.getElementById('oz').value;
document.getElementById('div2').style.transformOrigin=x + '% ' +
y + '% ' + z + 'px';
document.getElementById('div2').style.webkitTransformOrigin=x +
'% ' + y + '% ' + z + 'px';
document.getElementById('div2').style.MozTransformOrigin=x + '% '
+ y + '% ' + z + 'px';
document.getElementById('div2').style.OTransformOrigin=x + '% ' +
y + '% ' + z + 'px';
document.getElementById('origin').innerHTML=x + "% " + y + "% " +
z + "px";           
}
</script>
</head>
<body>
<p><b>Remarque :</b> Internet Explorer 9 et
versions antérieur ne supportent pas la
3D-transformations.</p>
<p>Faire pivoter l'élément div rouge, essayez de changer
ses x, y et Z :</p>
<div id="div1">
  <div id="div2"> BONJOUR </div>
</div>
Rotation:<br>
<input type="range" min="-360" max="360" value="70"
onchange="changeRotation(this.value)" /><br>
transform: rotateY:(<span id="persp">70deg</span>);
<br>
X-axe:<input type="range" min="-100" max="200" value="50"
onchange="changeOrigine()" id="ox" /><br>
Y-axe:<input type="range" min="-100" max="200" value="50"
onchange="changeOrigine()" id="oy" /><br>
Z-axe:<input type="range" min="-100" max="200" value="100"
onchange="changeOrigine()" id="oz" /><br>
transform-origin: <span id="origin">50% 50%
100px</span>;
</body>
</html>
  
Valeur par défaut : 50 % 50 % 0
Héritée : non
Version: CSS3
Syntaxe JavaScript : objet.style.transformOrigin="20% 40 %"
 

Syntaxe

transform-origin: x-axe y-axe z-axe;

 
 Valeur Description
x-axe Définit où la vue est placée dans l'axe des abscisses (axe x).

 Valeurs possibles :

left

center

right

length

%

y-axe Définit où la vue est placée sur l'axe y.

 Valeurs possibles :

top

center

bottom

length

%

z-axe Définit où la vue est placée sur l'axe z.

Valeurs possibles:

length


Par carabde 10 mars 2014

MARKETPOWER-IA
Logiciel d'I.A.
Logiciel d'I.A. 100% Français pour lancer son business en ligne

La méthode secrète likes sans fin sur Facebook

Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.

GAGNER DE L'ARGENT
GRÂCE À FACEBOOK 
N'A JAMAIS ÉTÉ SI FACILE


Consulter


1tpe