متحرک سازی و چرخش (Rotate) در CSS3
متحرک سازی و چرخش (Rotate) در CSS3
متحرک سازی و استفاده از عناصر قابل حرکت در صفحات وب، باعث جذابتر و پویاتر شدن سایتها میشود
و باعث میشود کاربران وبگردی متفاوتی را تجربه کنند. متحرک سازی در گذشته
یا از طریق تصاویر GIF و یا از طریق فایلهای فلش SWF ممکن بود و به دلیل اینکه بسیاری
از فایلهای متحرک حجم زیادی داشتند، موجب کاهش سرعت بارگذاری صفحات وب و تجربه ی
ناخوشایند وبگردی میشدند.
با ورود css3 تا حدود زیادی مشکل انیمیشن و حرکت عناصر در صفحات وب برطرف گردید
و با فراگیر شدن پشتیبانی مرورگرهای جدید از این خاصیت، در حال حاضر میتوانید با کمترین
افت سرعت، از انیمیشنها در سایت استفاده کنید.
خاصیت transform – متد rotate :
یکی از خصوصیات جدیدی که در Css3 شاهد آن هستیم، Transform نام دارد.
این خصوصیت میتواند امکانات زیر را در اختیار شما قرار دهد:
- Rotate یا چرخش عناصر در صفحه
- Skew یا مورب سازی عناصر در صفحه
- Translate یا بازگرداندن عناصر در صفحه
- Scale یا تغییر اندازه عناصر در صفحه
به وسیله متد rotate خاصیت transform ، می توانید عنصر مورد نظر خود را در جهت عقربه ساعت
و یا خلاف آن بر حسب یک درجه تعیین شده ، بچرخانید .
برای این منظور باید میزان درجه ای که می خواهید عنصر مورد نظر خود را بچرخانید ،
در پرانتز مقابل متد rotate بر حسب واحد deg تعیین کنید .
چنانچه مقدار تعیین شده مثبت باشد ، عنصر به آن میزان در جهت عقربه های ساعت
و چنانچه منفی باشد در خلاف عقربه ساعت چرخانده خواهد شد .
این افکت یکی از قابلیت های منحصر به فرد در CSS 3 است که تنها با نوشتن یک قطعه کد
ساده امکانپذیر است .
شکل کلی استفاده از این خاصیت به صورت زیر است :
;(transform : rotate ( deg
;( transform : rotate ( 90deg
ساختار HTML
در کدHTML زیر یک نمونه ساده را بررسی کرده ایم که برگ سبک دهی
را داخلی تعریف کرده ایم که div ی که کد css مربوط به حرکت و چرخش
را برای آن تعریف کرده ایم ابتدا div مربوطه ۳۶۰ درجه می چرخد و ۵ ثانیه طول میکشد.
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <style > .myelement2 { display:block; width: 200px; height:200px; background: #f00; margin: 100px auto; transition: ease-out 1s; -webkit-transition: ease-out 1s;} .myelement2:hover {background:#f00; transform: rotate(360deg); -webkit-transform: rotate(720deg); transition: ease-out .5s; -webkit-transition: ease-out .5s; color: #ffd800;} </style> <title>چرخش تصویر</title> </head> <body> <form id="form1" runat="server"> <div class ="myelement2"> <h4 >zarrinhoors</h4> </div> </form> </body> </html>
افزودن حالت انیمیشن به چرخش عنصر در صفحه
مشخصه ی transform میتواند باعث چرخش عناصر در صفحه شود ولی برای
افزودن حالت انیمیشن، باید از مشخصه ی transition نیز استفاده کنید تا جلوه ی زیباتری ایجاد کنید.
از transition برای ایجاد یک افکت transition باید دو چیز را مشخص کرد:
- خاصیت CSS که می خواهید انتقال در ازای تغییر آن انجام شود.
- مدت زمان انجام انتقال
مقدارهایی که برای خاصیت transition میتوانیم تعریف کنیم:
مقدار linear | انیمشن از ابتدا تا انتها با سرعت یکسان حرکت میکند |
Ease | مقدار پیش فرض این خاصیت هست .انیمشن با سرعت نسبتا
کم شروع میشود و سریع سرعتش افزایش پیدا میکند و وقتی به انتهامیرسد دوباره سرعتش کم میشود |
Ease-in | انیمشن با سرعت کم شروع میشه وبا سرعت زیاد به اتمام میرسه |
Ease-out | انیمشن با سرعت زیاد شروع میشود وبا سرعت کم به اتمام میرسد.
|
Ease-in-out | انیمشن با سرعت کم شروع میشود و بین انیمشن مقدارکمی
سرعت افزایش پیدا میکند و باسرعت کم به اتمام میرسد |
خصوصیت transition-delay: این خاصیت مکثی رو قبل از شروع افکتتعیین
میکند مثلا ۲ ثانیه میگذرد و بعد افکت اجرا میشود.نحوه استفاده
نکته:در صورتیکه هیچ زمانی تنظیم نشود افکتی رخ نخواهد داد،
چون زمان پیش فرض ۰(صفر) ثانیه است.