freeCodeCamp/guide/arabic/css/css3-transitions/index.md

119 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: CSS3 Transitions
localeTitle: التحولات CSS3
---
## التحولات CSS3
قد يكون استخدام عمليات **النقل من** CSS3 مفيدًا إذا كنت تريد أن يكون تطبيقك أو صفحتك على الويب أكثر ديناميكية وحسن المظهر.
في الواقع ، تسمح لك الانتقالات بتغيير قيم الخاصية ( `width` ، `color` ، ...) بطريقة **سلسة** .
الخاصية `transition` هي خاصية مختزلة لخاصية `transition-property` ، `transition-duration` `transition-timing-function` ، `transition-timing-function` `transition-delay` ، وبناء الجملة هو ما يلي:
`transition: transition-property transition-duration transition-timing-function transition-delay
`
فمثلا :
`transition: width 2s ease-in-out 1s;
`
### وصف الخصائص
#### `transition-property`
حدد **اسم** الموقع الذي يجب عليك تطبيق النقل عليه:
* `background-color`
* `color`
* `width`
* `height`
* `margin`
* `border-radius`
* وما إلى ذلك وهلم جرا !
فمثلا :
`transition-property: width; /* means the transition applies on the width */
`
#### `transition-duration`
حدد **عدد الثواني أو الألف** من **الثانية التي** يجب أن **يستغرقها** الانتقال:
فمثلا :
`transition-duration: 2s /* means the transition effect last 2s */
`
#### `transition-timing-function`
حدد **منحنى السرعة** لتأثير الانتقال. وبالتالي ، يمكنك تغيير **سرعة انتقالك على مدار مدته** .
فيما يلي القيم الأكثر استخدامًا:
* `linear`
* `ease`
* `ease-in`
* `ease-out`
* `ease-in-out`
* `cubic-bezier(n, n, n, n)`
فمثلا :
`transition-timing-function: linear
`
ملاحظة: جميع القيم المذكورة أعلاه هي في الواقع تفاصيل `cubic-bezier` . `linear` ، على سبيل المثال ، تعادل `cubic-bezier(0.25,0.1,0.25,1)`
يمكنك تجربة ومعرفة المزيد عن _بيزييه مكعب_ [هنا](http://cubic-bezier.com/)
#### `transition-delay`
حدد خلال **ثوانٍ أو ميلي ثانية** عندما **يبدأ النقل** .
فمثلا :
`transition-delay: 1s /* means wait 1s before the transition effect start */
`
### كيفية استخدام التحولات؟
يمكنك كتابة انتقال بطريقتين:
#### استخدام الخاصية المختزلة ( `transition` )
`div {
width: 200px;
transition: all 1s ease-in-out;
}
div:hover {
width: 300px;
}
`
#### إعطاء جميع خصائص النقل قيمة
`div {
width: 200px;
transition-property: width;
transition-duration: 1s;
transition-timing-function: ease-in-out;
}
`
ملاحظة: كلا المثالين **متساويان**
### أمثلة
إليك بعض الأقلام البسيطة التي تحتوي على انتقالات بسيطة:
* [التحولات الأساسية](https://codepen.io/thomlom/pen/gGqzNp)
* [التحولات + جافا سكريبت](https://codepen.io/thomlom/pen/JrxZKz?editors=1111)
#### معلومات اكثر:
* [w3schools: CSS3 Transitions](https://www.w3schools.com/css/css3_transitions.asp)
* [مستندات ويب MDN: استخدام انتقالات CSS](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Transitions/Using_CSS_transitions)
* [DevTips: CSS الانتقالية](https://www.youtube.com/watch?v=8kK-cA99SA0)