A CSS-átalakítások lehetővé teszik az elemek mozgatását, elforgatását, méretezését és elferdítését.
Vigye az egeret az alábbi elem fölé a 2D transzformáció megtekintéséhez:
Ebben a fejezetben a következő CSS-tulajdonságokat ismerheti meg:
transform
A táblázatban szereplő számok az első böngészőverziót adják meg, amely teljes mértékben támogatja a tulajdonságot.
Property | |||||
---|---|---|---|---|---|
transform | 36.0 |
10.0 |
16.0 |
9.0 |
23.0 |
A CSS transform
tulajdonságával a következő 2D átalakítási módszereket használhatja:
translate() rotate() scaleX() scaleY() scale() skewX() skewY() skew() matrix()
Tipp: A következő fejezetben megismerheti a 3D-s átalakításokat.
translate()
módszerA translate()
metódus elmozdít egy elemet az aktuális helyéről (a az X-tengelyhez és az Y-tengelyhez megadott paraméterekhez).
A következő példa a <div> elemet 50 képponttal jobbra mozgatja, és 100 képponttal lejjebb a jelenlegi helyzetéhez képest:
div
{
transform: translate(50px, 100px);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: translate(50px,100px);
}
</style>
</head>
<body>
<h1>The translate() Method</h1>
<p>The translate() method moves an element from its current position:</p>
<div>
This div element is moved 50 pixels to the right, and 100 pixels down from its current position.
</div>
</body>
</html>
rotate()
módszerA rotate()
metódus az elemet az óramutató járásával megegyező vagy azzal ellentétes irányba forgatja egy adott foknak megfelelően.
A következő példa elforgatja a <div> elemet az óramutató járásával megegyező irányba 20 fokkal:
div
{
transform: rotate(20deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: rotate(20deg);
}
</style>
</head>
<body>
<h1>The rotate() Method</h1>
<p>The rotate() method rotates an element clockwise or counter-clockwise.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is rotated clockwise 20 degrees.
</div>
</body>
</html>
A negatív értékek használata az elemet az óramutató járásával ellentétes irányba forgatja.
A következő példa a <div> elemet az óramutató járásával ellentétes irányba forgatja 20 fokkal:
div
{
transform: rotate(-20deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: rotate(-20deg);
}
</style>
</head>
<body>
<h1>The rotate() Method</h1>
<p>The rotate() method rotates an element clockwise or counter-clockwise.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is rotated counter-clockwise with 20 degrees.
</div>
</body>
</html>
scale()
módszerA scale()
módszer növeli vagy csökkenti egy elem méretét (a szélességhez és magassághoz megadott paramétereknek megfelelően).
A következő példa a <div> elemet eredeti szélességének kétszeresére és eredeti magasságának háromszorosára növeli:
div
{
transform: scale(2, 3);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scale(2,3);
}
</style>
</head>
<body>
<h1>The scale() Method</h1>
<p>The scale() method increases or decreases the size of an element.</p>
<div>
This div element is two times of its original width, and three times of its original height.
</div>
</body>
</html>
A következő példa a <div> elemet az eredeti szélességének és magasságának felére csökkenti:
div
{
transform: scale(0.5, 0.5);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scale(0.5,0.5);
}
</style>
</head>
<body>
<h1>The scale() Method</h1>
<p>The scale() method increases or decreases the size of an element.</p>
<div>
This div element is decreased to be half of its original width and height.
</div>
</body>
</html>
scaleX()
módszerA scaleX()
metódus növeli vagy csökkenti a egy elem szélessége.
A következő példa a <div> elemet eredeti szélességének kétszeresére növeli:
div
{
transform: scaleX(2);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scaleX(2);
}
</style>
</head>
<body>
<h1>The scaleX() Method</h1>
<p>The scaleX() method increases or decreases the width of an element.</p>
<div>
This div element is two times of its original width.
</div>
</body>
</html>
A következő példa a <div> elemet az eredeti szélességének felére csökkenti:
div
{
transform: scaleX(0.5);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scaleX(0.5);
}
</style>
</head>
<body>
<h1>The scaleX() Method</h1>
<p>The scaleX() method increases or decreases the width of an element.</p>
<div>
This div element is half of its original width.
</div>
</body>
</html>
scaleY()
módszerA scaleY()
metódus növeli vagy csökkenti a egy elem magassága.
A következő példa a <div> elemet az eredeti háromszorosára növeli magasság:
div
{
transform: scaleY(3);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scaleY(3);
}
</style>
</head>
<body>
<h1>The scaleY() Method</h1>
<p>The scaleY() method increases or decreases the height of an element.</p>
<div>
This div element is three times of its original height.
</div>
</body>
</html>
A következő példa a <div> elemet az eredeti felére csökkenti magasság:
div
{
transform: scaleY(0.5);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
margin: 150px;
width: 200px;
height: 100px;
background-color: yellow;
border: 1px solid black;
transform: scaleY(0.5);
}
</style>
</head>
<body>
<h1>The scaleY() Method</h1>
<p>The scaleY() method increases or decreases the height of an element.</p>
<div>
This div element is half of its original height.
</div>
</body>
</html>
skewX()
módszerA skewX()
metódus egy elemet az X tengely mentén a megadott szöggel elferdít.
A következő példa a <div> elemet 20 fokkal elferdíti a X-tengely:
div
{
transform: skewX(20deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: skewX(20deg);
}
</style>
</head>
<body>
<h1>The skewX() Method</h1>
<p>The skewX() method skews an element along the X-axis by the given angle.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is skewed 20 degrees along the X-axis.
</div>
</body>
</html>
skewY()
módszerA skewY()
metódus egy elemet az Y tengely mentén a megadott szöggel elferdít.
A következő példa a <div> elemet 20 fokkal elferdíti az Y tengely mentén:
div
{
transform: skewY(20deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: skewY(20deg);
}
</style>
</head>
<body>
<h1>The skewY() Method</h1>
<p>The skewY() method skews an element along the Y-axis by the given angle.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is skewed 20 degrees along the Y-axis.
</div>
</body>
</html>
skew()
módszerA skew()
metódus egy elemet az X és Y tengely mentén a megadott szögekkel elferdít.
A következő példa a <div> elemet 20 fokkal elferdíti az X tengely mentén, és 10 fokkal az Y tengely mentén:
div
{
transform: skew(20deg, 10deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: skew(20deg,10deg);
}
</style>
</head>
<body>
<h1>The skew() Method</h1>
<p>The skew() method skews an element into a given angle.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is skewed 20 degrees along the X-axis, and 10 degrees along the Y-axis.
</div>
</body>
</html>
Ha a második paraméter nincs megadva, akkor annak nulla az értéke. Tehát a következő példa a <div> elemet 20 fokkal elferdíti az X tengely mentén:
div
{
transform: skew(20deg);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv {
transform: skew(20deg);
}
</style>
</head>
<body>
<h1>The skew() Method</h1>
<p>The skew() method skews an element into a given angle.</p>
<div>
This a normal div element.
</div>
<div id="myDiv">
This div element is skewed 20 degrees along the X-axis.
</div>
</body>
</html>
mátrix()
módszerA mátrix()
metódus az összes 2D átalakítási metódust egybe egyesíti.
A mátrix() metódus hat paramétert vesz fel, amelyek matematikai függvényeket tartalmaznak, amely lehetővé teszi az elemek elforgatását, méretezését, mozgatását (fordítását) és elferdítését.
A paraméterek a következők: mátrix(scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY())
div
{
transform: matrix(1, -0.3, 0, 1, 0, 0);
}
Próbálja ki Ön is →
<!DOCTYPE html>
<html>
<head>
<style>
div {
width: 300px;
height: 100px;
background-color: yellow;
border: 1px solid black;
}
div#myDiv1 {
transform: matrix(1, -0.3, 0, 1, 0, 0);
}
div#myDiv2 {
transform: matrix(1, 0, 0.5, 1, 150, 0);
}
</style>
</head>
<body>
<h1>The matrix() Method</h1>
<p>The matrix() method combines all the 2D transform methods into one.</p>
<div>
This a normal div element.
</div>
<div id="myDiv1">
Using the matrix() method.
</div>
<div id="myDiv2">
Another use of the matrix() method.
</div>
</body>
</html>
Az alábbi táblázat felsorolja az összes 2D átalakítási tulajdonságot:
2D vagy 3D transzformációt alkalmaz egy elemre
Lehetővé teszi az átalakított elemek pozíciójának megváltoztatását
2D transzformációt határoz meg egy hat értékből álló mátrix használatával
2D fordítást határoz meg, mozgatva az elemet az X és az Y tengely mentén
2D fordítást határoz meg, az elemet az X-tengely mentén mozgatva
2D fordítást határoz meg, az elemet az Y tengely mentén mozgatva
2D léptékű transzformációt határoz meg, megváltoztatva az elemek szélességét és magasságát
2D léptékű transzformációt határoz meg, megváltoztatva az elem szélességét
2D léptékű transzformációt határoz meg, megváltoztatva az elem magasságát
2D elforgatást határoz meg, a szög a paraméterben van megadva
2D ferde transzformációt határoz meg az X és az Y tengely mentén
2D ferde transzformációt határoz meg az X tengely mentén
2D ferde transzformációt határoz meg az Y tengely mentén