online: 4; azi: 240; total: 50695 Webdesign - Css - 18

CSS3 transformari 2D

Cu proprietatea CSS transform se poate modifica forma, marimea si pozitia elementelor HTML.
Se pot transforma elementele HTML in plan 2D sau 3D.
- Sintaxa:

transform: metoda(valori);
- Acest tutorial prezinta metodele de transformare in plan 2D:   translate(),   rotate(),   scale(),   skew() .

Internet Explorer 9 foloseste:   -ms-transform .
Firefox foloseste:   -moz-transform .
Chrome si Safari folosesc:   -webkit-transform .
Opera foloseste:   -o-transform .

Metoda translate()

Metoda translate() muta elementul de la pozitia initiala, in functie de parametri dati pentru pozitionare de la Stanga (axa-X) si de Sus (axa-Y) .
- Sintaxa:
transform: translate(X, Y);
Exemplu. Cand utilizatorul plaseaza cursorul mouse-ului pe un anumit Div, ii muta pozitia cu 20 pixeli de la stanga si 15 pixeli din partea de sus.
<style type="text/css">
#idv {
 width:90px;
 height:90px;
 background:#b0b1fe;
 font-size:17px;
}

#idv:hover {
 transform: translate(20px, 15px);
-ms-transform: translate(20px, 15px);  /* IE 9 */
-webkit-transform: translate(20px, 15px);  /* Safari si Chrome */
-o-transform: translate(20px, 15px);  /* Opera */
-moz-transform: translate(20px, 15px);  /* Firefox */
}
</style>

<div id="idv">Pozitionati mouse-ul aici.</div>

Demo:
Pozitionati mouse-ul aici.

CSS rotate()

Metoda rotate() roteste elementul HTML, in sensul orelor de ceas daca valoarea e pozitiva, in sens invers orelor de ceas daca valoarea e negativa.
- Sintaxa:
transform: rotate(grade);
Exemplu. Roteste element cu 60 grade in sensul orelor de ceas.
<style type="text/css">
#idv2 {
 width:90px;
 height:90px;
 background:#b0b1fe;
 font-size:17px;
}

#idv2:hover {
 transform: rotate(60deg);
-ms-transform: rotate(60deg);  /* IE 9 */
-webkit-transform: rotate(60deg);  /* Safari si Chrome */
-o-transform: rotate(60deg);  /* Opera */
-moz-transform: rotate(60deg);  /* Firefox */
}
</style>

<div id="idv2">Pozitionati mouse-ul aici.</div>

Demo:
Pozitionati mouse-ul aici.

Metoda scale()

Metoda scale() mareste sau micsoreaza marimea elementului HTML (inclusiv continutul din el), in functie de parametri pentru Lungime (axa-X) si Inaltime (axa-Y).
- Sintaxa:
transform: scale(Lungime, Inaltime);
- Valorile pentru Lungime si Inaltime sunt in procente. De exemplu, 1.5 inseamna 150% din marimea originala.

Exemplu. Transforma lungimea sa fie de 2 ori marimea originala, si inaltimea 1.5 ori inaltimea originala.
<style type="text/css">
#idv3 {
 width:90px;
 height:90px;
 background:#b0b1fe;
 font-size:17px;
}

#idv3:hover {
 transform: scale(2, 1.5);
-ms-transform: scale(2, 1.5);  /* IE 9 */
-webkit-transform: scale(2, 1.5);  /* Safari si Chrome */
-o-transform: scale(2, 1.5);  /* Opera */
-moz-transform: scale(2, 1.5);  /* Firefox */
}
</style>

<div id="idv3">Pozitionati mouse-ul aici.</div>

Demo:

Pozitionati mouse-ul aici.


CSS skew()

Metoda skew() distorsioneaza elementul HTML pe orizontala (axa-X) si verticala (axa-Y), incluzand si continutul din el.
- Sintaxa:
transform: skew(Xdeg, Ydeg);
Exemplu. Distorsioneaza elementul 20 grade pe lungime (axa-X) si 25 grade pe verticala (axa-Y).
<style type="text/css">
#idv4 {
 width:160px;
 height:90px;
 background:#abcdfe;
 font-size:18px;
 transform: skew(20deg, 25deg);
-ms-transform: skew(20deg, 25deg);  /* IE 9 */
-webkit-transform: skew(20deg, 25deg);  /* Safari si Chrome */
-o-transform: skew(20deg, 25deg);  /* Opera */
-moz-transform: skew(20deg, 25deg);  /* Firefox */
}
</style>

<div id="idv4">www.discant.ro</div>

Demo:
www.discant.ro


• Cele 4 metode de transformare pot fi utilizate si intr-o singura definitie transform, separate prin spatiu.
- Sintaxa:
transform: translate(X, Y) rotate(grade) scale(Lungime, Inaltime) skew(Xdeg, Ydeg);
- Puteti adauga doar acele metode pe care doriti sa le folositi in transformare.

Exemplu, muta elementul cu 50 pixeli de la stanga si 25 pixeli din partea de sus, il roteste cu 20 grade in sens invers orelor de ceas, transforma lungimea de 2 ori cea originala si inaltimea 1.5 ori, distorsioneaza elementul cu 15 grade pe orizontala si 20 grade pe verticala.
<style type="text/css">
#idv5 {
 width:90px;
 height:90px;
 background:#00da01;
 font-size:17px;
 transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg, 20deg);
-ms-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg, 20deg);  /* IE 9 */
-webkit-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg, 20deg);  /* Safari si Chrome */
-o-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg, 20deg);  /* Opera */
-moz-transform: translate(50px, 25px) rotate(-20deg) scale(2, 1.5) skew(15deg, 20deg);  /* Firefox */
}
</style>

<div id="idv5">Continut oarecare...</div>
Demo:
Continut oarecare...