این آموزش در تاریخ ۱۴۰۰/۱۱/۲۵ آپدیت شده است.
آموزش ویژگی transform در CSS
سلام خدمت تمامی دوستان و همراهان محترم سایت آموزشی فری لرن ، امیدوارم که حال همگیتون خوب باشه. لطفا در ادامه با آموزش ویژگی transform در CSS با من همراه باشید.
Free-Learn
آنچه در این جلسه میخوانید :
ویژگی transform در CSS
با استفاده از ویژگی transform
( در لغت یعنی تبدیل ) در CSS میتوان عناصر را بصورت ۲ بعدی ( ۲D ) و یا سه بعدی ( ۳D ) در یک صفحه وب تبدیل ( جابه جا کردن ، چرخوندن ، کج کردن ) کرد.
Free-Learn
مثال از این ویژگی
در ادامه میتوانید یک مثال از ویژگی transform
را در زبان CSS مشاهده نمایید.
مثال شماره ۱ : قرار دادن یک تگ دقیقا در وسط صفحه ( هم بصورت افقی هم عمودی ) با استفاده از مقدار Translate
1 2 3 4 5 6 7 8 |
.MyBox{ transform: translate(-50%, -50%); position: absolute; right: 50%; left:50%; top:50%; bottom:50%; } |
مثال شماره ۲ : استفاده از مقدار Scale ( افزایش یا کاهش مقیاس )
1 2 3 |
.MyBox:hover{ transform: scale( 1.3 , 1.3 ); } |
مثال شماره ۳ : استفاده از مقدار Rotate ( برای چرخوندن عناصر )
1 2 3 |
.MyBox:hover{ transform: rotate( 360deg ); } |
مثال شماره ۴ : استفاده از چندین مقدار بصورت همزمان ( باید بین هر یک از مقادیر یک عدد فاصله قرار داد )
1 2 3 |
.MyImage:hover{ transform: rotate(360deg) scale(1.5); } |
Free-Learn
جدول مشخصات ویژگی transform در CSS
در جدول زیر میتوانید مشخصات کلی این ویژگی را در زبان CSS مشاهده نمایید.
مقدار پیش فرض | none |
---|---|
قابل ارث بری | دارد | اطلاعات بیشتر |
قابل متحرک سازی | ندارد | اطلاعات بیشتر |
نسخه | CSS3 |
نحوه استفاده در جاوااسکریپت | object.style.transform=”rotate(360deg)”; |
Free-Learn
پشتیبانی مرورگرها
در جدول زیر میتوانید مشاهده نمایید که آیا مرورگرهای اینترنتی از ویژگی transform
در CSS پشتیبانی میکنند یا خیر.
ویژگی Transform در آخرین نسخه ( بروزترین نسخه ) تمامی مرورگرهای اینترنتی بدون هیچ مشکلی پشتیبانی می شود و کار میکنه، ولی خب این ویژگی در برخی از مرورگرهای نسخه های قدیمی تر پشتیبانی نمیشوند، و وقتی پشتیبانی نمیشه یعنی اون ویژگی تو اون مرورگر کار نمیکنه.
در جدول زیر جلوی نام هر یک از مرورگرهای اینترنتی یک عدد وجود داره که اون عدد نسخه اون مرورگر رو مشخص میکنه و داره میگه از اون نسخه به بعد بدون مشکل پشتیبانی میشه ولی برای نسخه های قبل از اون باید از یسری دستورات پیشوندی موجود در جدول زیر استفاده کنیم.
نام مرورگر | Chrome | Firefox | Opera | Safari | Edge |
Transform (2D) | ۳۶ | ۱۶ | ۲۳ | ۹ | ۱۲ |
Transform (2D) | ۴ تا ۳۵ -webkit- | ۳٫۵ تا ۱۵ -moz- | ۱۵ تا ۲۲ -webkit- | ۳٫۱ تا ۸ -webkit- | – |
نام مرورگر | Chrome | Firefox | Opera | Safari | Edge |
Transform (3D) | ۳۶ | ۱۶ | ۲۳ | ۹ | ۱۲ |
Transform (3D) | ۱۲ تا ۳۵ -webkit- | ۱۰ تا ۱۵ -moz- | ۱۵ تا ۲۲ -webkit- | ۴ تا ۸ -webkit- | – |
Free-Learn
شکل نوشتاری
نحوه نوشتن یا استفاده یا سینتَکس (Syntax) این ویژگی در CSS بصورت زیر می باشد.
1 |
transform: none|یک یا چندین مقادیر موجود در جدول مقادیر|initial|inherit; |
Free-Learn
جدول مقادیر ویژگی transform در CSS
در جدول زیر میتوانید، مقادیری را که میتوان در این ویژگی استفاده کرد مشاهده نمایید.
- مقداری که Translate می پذیرد میتواند یکی از واحدهای اندازه گیری همچون %,px باشد.
- مقداری که Scale می پذیرد میتواند یک عدد باشد. ( مثه ۱٫۷ یا ۲ )
- مقداری که Rotate و Skew می پذیرد میتواند یک زاویه / درجه باشد. ( مثه ۱۸۰deg یا ۳۶۰deg )
مقدار | توضیح |
---|---|
none | مقدار پیش فرض – هیچ انتقالی بروی عنصر ایجاد نمیشود |
matrix(n) | حالت ۲D – ماتریس ۶ مقداری |
matrix3d(n) | حالت ۳D – ماتریس ۴*۴ ( ۱۶ مقداری ) |
translate(x,y) | برای جابه جایی تگ ها در محور Xها و Yها |
translate3d(x,y,z) | برای جابه جایی تگ ها بصورت ۳D در محور ( X,Y,Z ) |
translateX(x) | برای جابه جایی تگ ها فقط در محور X ها |
translateY(y) | برای جابه جایی تگ ها فقط در محور Y ها |
translateZ(z) | برای جابه جایی تگ ها فقط در محور Z ها |
scale(x,y) | تغییر مقیاس در محور X و Y |
scale3d(x,y,z) | تغییر مقیاس بصورت ۳D در محور X و Y و Z |
scaleX(x) | تغییر مقیاس فقط در محور X |
scaleY(y) | تغییر مقیاس فقط در محور Y |
scaleZ(z) | تغییر مقیاس فقط در محور Z |
rotate(angle) | زاویه چرخش ۲D تگ ها را مشخص میکند |
rotate3d(x,y,z,angle) | زاویه چرخش در محور X,Y,Z تگ ها را مشخص میکند |
rotateX(angle) | زاویه چرخش فقط در محور X ها |
rotateY(angle) | زاویه چرخش فقط در محور Y ها |
rotateZ(angle) | زاویه چرخش فقط در محور Z ها |
skew(x-angle,y-angle) | زاویه کج کردن تگ ها در محور X و Yها |
skewX(angle) | زاویه کج کردن تگ ها فقط در محور X |
skewY(angle) | زاویه کج کردن تگ ها فقط در محور Y |
perspective(n) | ایجاد یک چشم اندازه ۳D برای عناصر فرزند ( مثال ) |
initial | استفاده از مقدار پیش فرض یا اولیه | اطلاعات بیشتر |
inherit | استفاده از مقدار پدر یا والد ( به ارث بری ) | اطلاعات بیشتر |
Free-Learn
نکات و توضیحات
- مقادیری که مربوط به ماتریس می باشد » در واقع روشی برای تبدیل کردن می باشد، مثال :
1 |
rotate(45deg) translate(24px, 25px) |
- ماتریسش میشه :
1 |
matrix(0.7071067811865475, 0.7071067811865476, -0.7071067811865476, 0.7071067811865475, -0.7071067811865497, 34.648232278140824) |
- مقدار Perspective بروی خوده عنصر تاثیری ندارد فقط بروی فرزندانش یک چشم انداز سه بعدی ایجاد میکند. ( حتما آموزش ویژگی perspective رو مشاهده نمایید )