MDN Web Docs - transform
MDN Web Docs - Transform: دليل شامل للمبتدئين
مقدمة
خاصية `transform` في CSS هي أداة قوية تسمح لك بتطبيق تحويلات مختلفة على عناصر HTML. هذه التحويلات تشمل الدوران، والقياس، والإمالة، والترجمة، وتغيير المنظور. تُستخدم `transform` بشكل كبير في إنشاء تأثيرات بصرية جذابة، والرسوم المتحركة، وتخطيطات مرنة ومبتكرة. هذا المقال يهدف إلى تقديم شرح مفصل لهذه الخاصية، مع التركيز على أساسياتها وكيفية استخدامها في مشاريع الويب. سنغطي كل جانب من جوانب `transform`، بدءًا من القيم الأساسية وصولًا إلى التحويلات المعقدة. سيكون هذا الدليل مفيدًا بشكل خاص للمطورين الجدد على CSS والراغبين في فهم كيفية استخدام هذه الخاصية لتحسين تجربة المستخدم.
ما هي خاصية Transform؟
خاصية `transform` في CSS تسمح لك بتغيير مظهر عنصر HTML دون تغيير موقعه في تدفق المستند. هذا يعني أن العنصر سيظل يشغل نفس المساحة، ولكن مظهره قد يتغير. تُطبق التحويلات على العنصر باستخدام سلسلة من الدوال، وكل دالة تمثل تحويلًا معينًا. هذه الدوال يمكن أن تكون مجموعة معًا لإنشاء تأثيرات معقدة. على سبيل المثال، يمكنك تدوير عنصر ثم تحريكه، أو تغيير حجمه ثم إمالته.
بناء الجملة
بناء جملة خاصية `transform` بسيط نسبيًا:
```css transform: none | transform-function(s); ```
- `none`: القيمة الافتراضية. لا يتم تطبيق أي تحويل.
- `transform-function(s)`: واحدة أو أكثر من دوال التحويل، مفصولة بمسافات.
دوال التحويل المتاحة
هناك العديد من دوال التحويل المتاحة في CSS. فيما يلي بعض الدوال الأكثر شيوعًا:
- `translate()`: تحريك العنصر.
- `rotate()`: تدوير العنصر.
- `scale()`: تغيير حجم العنصر.
- `skew()`: إمالة العنصر.
- `matrix()`: تطبيق تحويل مخصص باستخدام مصفوفة.
- `matrix3d()`: تطبيق تحويل مخصص ثلاثي الأبعاد باستخدام مصفوفة.
- `perspective()`: تحديد منظور ثلاثي الأبعاد.
شرح تفصيلي لدوال التحويل
1. Translate()
دالة `translate()` تحرك العنصر على طول المحورين X و Y. تأخذ الدالة قيمة واحدة أو قيمتين:
- `translate(tx)`: تحريك العنصر `tx` بكسل على طول المحور X.
- `translate(tx, ty)`: تحريك العنصر `tx` بكسل على طول المحور X و `ty` بكسل على طول المحور Y.
- `translate3d(tx, ty, tz)`: تحريك العنصر في ثلاثة أبعاد (X, Y, Z).
مثال:
```css .element {
transform: translate(50px, 20px);
} ```
سيؤدي هذا إلى تحريك العنصر بمقدار 50 بكسل إلى اليمين و 20 بكسل إلى الأسفل.
2. Rotate()
دالة `rotate()` تدور العنصر حول نقطة محددة. تأخذ الدالة قيمة واحدة:
- `rotate(angle)`: تدوير العنصر بالزاوية `angle` بالدرجات (deg) أو الراديان (rad).
مثال:
```css .element {
transform: rotate(45deg);
} ```
سيؤدي هذا إلى تدوير العنصر بزاوية 45 درجة في اتجاه عقارب الساعة.
3. Scale()
دالة `scale()` تغير حجم العنصر. تأخذ الدالة قيمة واحدة أو قيمتين:
- `scale(sx)`: تغيير حجم العنصر بمقدار `sx` على طول المحور X.
- `scale(sx, sy)`: تغيير حجم العنصر بمقدار `sx` على طول المحور X و `sy` على طول المحور Y.
- `scale3d(sx, sy, sz)`: تغيير حجم العنصر في ثلاثة أبعاد (X, Y, Z).
مثال:
```css .element {
transform: scale(1.5);
} ```
سيؤدي هذا إلى زيادة حجم العنصر بنسبة 50% في كلا الاتجاهين.
4. Skew()
دالة `skew()` تميل العنصر. تأخذ الدالة قيمة واحدة أو قيمتين:
- `skew(angle)`: إمالة العنصر بزاوية `angle` بالدرجات (deg) أو الراديان (rad) على طول المحور X.
- `skew(angleX, angleY)`: إمالة العنصر بزاوية `angleX` بالدرجات (deg) أو الراديان (rad) على طول المحور X وزاوية `angleY` على طول المحور Y.
مثال:
```css .element {
transform: skew(20deg);
} ```
سيؤدي هذا إلى إمالة العنصر بزاوية 20 درجة على طول المحور X.
5. Matrix() و Matrix3d()
دوال `matrix()` و `matrix3d()` تسمحان لك بتطبيق تحويلات مخصصة باستخدام مصفوفة. هذه الدوال أكثر تعقيدًا من الدوال الأخرى، ولكنها توفر مرونة أكبر. `matrix()` تستخدم للتحويلات ثنائية الأبعاد، بينما `matrix3d()` تستخدم للتحويلات ثلاثية الأبعاد. فهم هذه الدوال يتطلب معرفة جيدة بالرياضيات الخطية.
6. Perspective()
دالة `perspective()` تحدد منظور ثلاثي الأبعاد للعنصر. تأخذ الدالة قيمة واحدة:
- `perspective(distance)`: تحديد المسافة بين المستخدم والعنصر.
مثال:
```css .element {
transform: perspective(500px);
} ```
سيؤدي هذا إلى تطبيق منظور ثلاثي الأبعاد على العنصر.
تحويلات متعددة
يمكنك تطبيق تحويلات متعددة على عنصر واحد عن طريق فصل الدوال بمسافات. ترتيب الدوال مهم، حيث يتم تطبيق التحويلات من اليمين إلى اليسار.
مثال:
```css .element {
transform: rotate(45deg) translate(50px, 20px) scale(1.5);
} ```
سيؤدي هذا إلى تدوير العنصر بزاوية 45 درجة، ثم تحريكه بمقدار 50 بكسل إلى اليمين و 20 بكسل إلى الأسفل، ثم زيادة حجمه بنسبة 50%.
Transform Origin
خاصية `transform-origin` تحدد النقطة التي يتم حولها تطبيق التحويلات. القيمة الافتراضية هي `center center`، مما يعني أن التحويلات يتم تطبيقها حول مركز العنصر. يمكنك تغيير هذه القيمة لتحديد نقطة أخرى.
مثال:
```css .element {
transform-origin: top left; transform: rotate(45deg);
} ```
سيؤدي هذا إلى تدوير العنصر بزاوية 45 درجة حول الزاوية العلوية اليسرى.
التحويلات ثلاثية الأبعاد
بالإضافة إلى الدوال ثنائية الأبعاد، تدعم CSS أيضًا التحويلات ثلاثية الأبعاد. لتمكين التحويلات ثلاثية الأبعاد، يجب عليك تعيين خاصية `perspective` على العنصر الأصل أو على العنصر نفسه.
أمثلة عملية
- إنشاء زر ثلاثي الأبعاد: باستخدام `perspective` و `rotate`.
- إنشاء تأثير طائر: باستخدام `translate` و `rotate`.
- إنشاء قائمة منسدلة: باستخدام `scale` و `translate`.
- إنشاء تأثير التلاشي: باستخدام `opacity` و `translate`.
الاعتبارات المتعلقة بالأداء
استخدام خاصية `transform` يمكن أن يؤثر على أداء الصفحة. خاصةً إذا كنت تستخدم تحويلات معقدة أو تقوم بتطبيقها على عدد كبير من العناصر. لتحسين الأداء، حاول:
- استخدام التحويلات المعقدة باعتدال.
- استخدام تسريع الأجهزة (hardware acceleration) عن طريق استخدام خاصية `will-change`.
- تجنب إعادة حساب التحويلات في كل إطار.
الخلاصة
خاصية `transform` هي أداة قوية تسمح لك بتغيير مظهر عناصر HTML بطرق مبتكرة. من خلال فهم الدوال المختلفة المتاحة وكيفية استخدامها، يمكنك إنشاء تأثيرات بصرية جذابة وتحسين تجربة المستخدم. تذكر أن ترتيب الدوال مهم، وأن التحويلات يتم تطبيقها من اليمين إلى اليسار. بالإضافة إلى ذلك، يجب أن تكون على دراية بالاعتبارات المتعلقة بالأداء عند استخدام `transform` في مشاريع الويب الخاصة بك.
روابط ذات صلة
- CSS
- CSS Properties
- CSS Values
- CSS Animations
- CSS Transitions
- HTML
- DOM
- JavaScript
- Web Development
- User Interface (UI)
روابط استراتيجيات الخيارات الثنائية والتحليل الفني
- استراتيجية مارتينجال - استراتيجية مضاعفة الرهان بعد الخسارة.
- استراتيجية بولينجر باندز - استخدام نطاقات بولينجر لتحديد نقاط الدخول والخروج.
- استراتيجية المتوسطات المتحركة - تحليل الاتجاهات باستخدام المتوسطات المتحركة.
- تحليل حجم التداول - تقييم قوة الاتجاه بناءً على حجم التداول.
- مؤشر القوة النسبية (RSI) - تحديد ظروف ذروة الشراء والبيع.
- مؤشر الماكد (MACD) - تحليل الزخم والاتجاه.
- تحليل الشموع اليابانية - التعرف على أنماط الشموع للتنبؤ بالتحركات المستقبلية.
- استراتيجية الاختراق - الدخول في صفقة عند اختراق مستوى مقاومة أو دعم.
- استراتيجية الارتداد - الدخول في صفقة عند ارتداد السعر عن مستوى مقاومة أو دعم.
- إدارة المخاطر في الخيارات الثنائية - تقنيات للحد من الخسائر المحتملة.
- تحليل الاتجاهات - تحديد اتجاه السوق السائد.
- استراتيجية دوجي - تحليل أنماط دوجي لتحديد انعكاسات الاتجاه.
- استراتيجية بين بار - تحديد فرص التداول بناءً على أنماط بين بار.
- استراتيجية الثلاثة جنود - التعرف على أنماط الثلاثة جنود للتنبؤ بالتحركات المستقبلية.
- استراتيجية المطرقة - تحليل أنماط المطرقة لتحديد انعكاسات الاتجاه.
- استراتيجية النجمة الساقطة - تحليل أنماط النجمة الساقطة لتحديد انعكاسات الاتجاه.
- التحليل الأساسي في الخيارات الثنائية - تقييم العوامل الاقتصادية والسياسية التي تؤثر على الأسعار.
- تداول الأخبار - الاستفادة من الأحداث الإخبارية للتداول.
- التداول الخوارزمي - استخدام برامج الكمبيوتر لتنفيذ الصفقات تلقائيًا.
- استراتيجية ستوكاستيك - استخدام مؤشر ستوكاستيك لتحديد ظروف ذروة الشراء والبيع.
- استراتيجية فيبوناتشي - استخدام مستويات فيبوناتشي لتحديد نقاط الدخول والخروج.
- استراتيجية إيشيموكو - استخدام نظام إيشيموكو لتحديد الاتجاهات ونقاط الدخول والخروج.
- تداول الخيارات الثنائية على الهامش - فهم المخاطر والفوائد.
- التحليل الفني المتقدم - تقنيات تحليلية متقدمة.
- التحليل النفسي للسوق - فهم سلوك المتداولين.
ابدأ التداول الآن
سجّل في IQ Option (الحد الأدنى للإيداع 10 دولار) افتح حساباً في Pocket Option (الحد الأدنى للإيداع 5 دولار)
انضم إلى مجتمعنا
اشترك في قناة Telegram الخاصة بنا @strategybin لتصلك: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات اتجاهات السوق ✓ مواد تعليمية للمبتدئين