aa-- --bb
[0]
[1]
[2] line , [3] octet
x
الصفحة الرئيسية
css
php
javascript
html
الخاصية transform في لغة الأنماط الإنسيابية cssc_css
تستخدم الخاصية transform في لغة الأنماط الإنسيابية css للتحكم بموقع العنصر و حجمه و شكله في مجال تنائي أو تلاثي الأبعاد في هدا المقال سنستعرض أهم الإمكانيات اللتي يمكن الحصول عليها من خلال هده الخاصية



تركيب الخاصية transform  يختلف قليلا عن تركيب الخصائص الكلاسيكية . إد لا يمكن تمرير قيمة مجردة للخاصية إلا بإستخدام مجموعة من الدوال اللتي تتعامل الخاصية معها بشكل مباشر

مثال rotate

تستخدم الدالة rotate لإستدارة العنصر حسب زاوية محددة و يتم تمرير الدالة rotate مع قيمتها إلى الخاصية transform 

transform: rotate(20deg);


النتيجة



تمت إستدارة العنصر بزاوية 20 درجة
مركز الدوران الإفتراضي هو أعلى اليسار و يمكن التحكم به من خلال الخاصية transform-origin

transform-origin:CENTER;

النتيجة




يمكن إدراج قيمة سالبة داخل الدالة rotate للحصول على إستدارة عكسية ( عكس إتجاه عقارب الساعة


transform: rotate(-20deg);





يمكن إدراج أي قيمة سالبة أو موجبة حتى لو كانت أعلى من 360




تتفرع من الدالة rotate دالتين فرعيتين هما rotatex و rotatey و هما على التوالي للإستدارة الأفقية و الإستدارة العمودية


الإستدارة الأفقية  rotatex



الإستدارة العمودية rotatey 

دالة الإزاحة translate

تقوم هده الدالة بإزاحة العنصر في مجال تنائي الأبعاد ( الطول و العرض )

transform: translate(30px,20px);

النتيجة




القيم السالبة تمكننا دائما من عكس الإتجاه




دالة التكبير scale

تتحكم الدالة scale في حجم العنصر 
القيمة 1 تبقي على العنصر في حجمه الأصلي و أي زيادة أو نقصان تمثل نسبة التكبير / التصغير

مثال 

transform: scale(0.75);

سيتم تصغير العنصر إلى ثلاثة أرباع حجمه الأصلي

النتيجة




مثال آخر



تتفرع عن الدالة scale دالتين هما scalex و scaley و تستخدمان للتحكم بكل من التكبير العمودي و التكبير الأفقي على حدا


مثال 

transform: scaley(0.8) scalex(1.2);


النتيجة




دالة الإنحراف skew

تقوم هده الدالة حرف العنصر ( أفقيا أو عموديا ) و تأخد بشكل مبدئي قيمتين


أمثلة


// 1 transform: skew(-20deg,0); // 2 transform: skew(0,15deg); // 3 transform: skew(-20deg,5deg);

النتائج 

1 الإنحراف الأفقي




2 الإنحراف العمودي



3 الإنحراف العمودي و الأفقي ( مزيج )




يمكن إستخدام إحدا الدالتين الفرعيتين  skewx أو skewy للتحكم بالإنحراف الأفقي أو العمودي على حدا
و الأنميشن التالي يبين المثال بشكل أوضح


الدالة الجامعة matrix

جميع الدوال السابقة يمكن إختزالها في دالة matrix و تكتب بالصيغة التالية

transform : matrix( 1, 0, 0, 1, 0, 0);

بحيث أن المدخلات في الكود السابق هي كالتالي بالترتيب
scalx
skewx
skewy
scaley
translatex
translatey

يمكن تعويض دالة rotate بالمزج بين skewy و skewx

مثال

transform: matrix(0.94,0.34,-0.34,0.94,0,0);

النتيجة




يتطلب إستخدام دالة matrix إجراء عمليات حسابة معقدة من أجل الوصول للقيمة المطلوبة 
يمكنك الإستعانة بهده الأداة لحساب قيمة matrix

http://www.boogdesign.com/examples/transforms/matrix-calculator.html



أو

https://www.google.com/search?&q=css+transform+matrix+calculator&oq=css+transform+matrix+calculator

إتهى الدرس

aa-- --bb jjjjjjjjjjjjj
تواصل
يوتيوب فيسبوك إنستغرام