الفرق بين المراجعتين لصفحة: «CSS/transition»

من موسوعة حسوب
< CSS
لا ملخص تعديل
 
لا ملخص تعديل
 
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:الخاصية <code>transition</code>}}</noinclude>
<noinclude>{{DISPLAYTITLE:الخاصية <code>transition</code>}}</noinclude>
الخاصية <code>transition</code> في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات <code>[[CSS/transition-property|transition-property]]</code> و <code>[[CSS/transition-duration|transition-duration]]</code> و <code>[[CSS/transition-timing-function|transition-timing-function]]</code> و <code>[[CSS/transition-delay|transition-delay]]</code>.<nowiki/><syntaxhighlight lang="css">
الخاصية <code>transition</code> في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات <code>[[CSS/transition-property|transition-property]]</code> و <code>[[CSS/transition-duration|transition-duration]]</code> و <code>[[CSS/transition-timing-function|transition-timing-function]]</code> و <code>[[CSS/transition-delay|transition-delay]]</code>.
/* property name | duration */
transition: margin-right 4s;


/* property name | duration | delay */
== بطاقة الخاصية ==
transition: margin-right 4s 1s;
 
/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;
 
/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;
 
/* تطبيق التأثير على خاصيتين */
transition: margin-right 4s, color 1s;
 
/* تطبيق تأثير الانتقال على جميع الخاصيات التي تغيّرت قيمها */
transition: all 0.5s ease-out;
 
/* القيم العامة */
transition: inherit;
transition: initial;
transition: unset;
 
</syntaxhighlight>تسمح لنا تأثيرات الانتقال بالتحويل بين حالتين من حالات العنصر مع حركة، ويمكن تفعيل حالات العنصر باستخدام الأصناف الزائفة (pseudo-classes) مثل ‎<code>[[CSS/:hover|:hover]]</code> و <code>[[CSS/:active|‎:active]]</code> أو بضبطها ديناميكيًا باستخدام JavaScript.
{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-
|-
سطر 49: سطر 27:
* <code>[[CSS/transition-property|transition-property]]</code>: كما حُدِّدَت.
* <code>[[CSS/transition-property|transition-property]]</code>: كما حُدِّدَت.
* <code>[[CSS/transition-timing-function|transition-timing-function]]</code>: كما حُدِّدَت.
* <code>[[CSS/transition-timing-function|transition-timing-function]]</code>: كما حُدِّدَت.
|}
|}<syntaxhighlight lang="css">
/* property name | duration */
transition: margin-right 4s;
 
/* property name | duration | delay */
transition: margin-right 4s 1s;
 
/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;
 
/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;
 
/* تطبيق التأثير على خاصيتين */
transition: margin-right 4s, color 1s;
 
/* تطبيق تأثير الانتقال على جميع الخاصيات التي تغيّرت قيمها */
transition: all 0.5s ease-out;
 
/* القيم العامة */
transition: inherit;
transition: initial;
transition: unset;
 
</syntaxhighlight>تسمح لنا تأثيرات الانتقال بالتحويل بين حالتين من حالات العنصر مع حركة، ويمكن تفعيل حالات العنصر باستخدام الأصناف الزائفة (pseudo-classes) مثل ‎<code>[[CSS/:hover|:hover]]</code> و <code>[[CSS/:active|‎:active]]</code> أو بضبطها ديناميكيًا باستخدام JavaScript.


== أمثلة ==
== أمثلة ==
سطر 149: سطر 151:
** الكلمة المحجوزة <code>all</code>
** الكلمة المحجوزة <code>all</code>
** اسم إحدى خاصيات CSS القابلة للتحريك
** اسم إحدى خاصيات CSS القابلة للتحريك
* قيمة <code>[[CSS/timing-function|<timing-function>]]</code> صفر مرة أو أكثر التي تصف دالة التوقيت المستخدمة مع الحركة.
* <code>[[CSS/timing-function|<timing-function>]]</code> صفر مرة أو أكثر التي تصف دالة التوقيت المستخدمة مع الحركة.
* قيمة زمنية <code>[[CSS/time|<nowiki><time></nowiki>]]</code> صفر مرة أو مرة واحدة أو مرتين. وأوّل قيمة ستُفسَّر على أنها الوقت المسند للخاصية <code>[[CSS/transition-duration|transition-duration]]</code>، والقيمة الثانية ستُفسَّر على أنها الوقت المُسنَد للخاصية <code>[[CSS/transition-delay|transition-delay]]</code>.
* قيمة زمنية <code>[[CSS/time|<nowiki><time></nowiki>]]</code> صفر مرة أو مرة واحدة أو مرتين. وأوّل قيمة ستُفسَّر على أنها الوقت المسند للخاصية <code>[[CSS/transition-duration|transition-duration]]</code>، والقيمة الثانية ستُفسَّر على أنها الوقت المُسنَد للخاصية <code>[[CSS/transition-delay|transition-delay]]</code>.


سطر 164: سطر 166:


</syntaxhighlight>
</syntaxhighlight>
== انظر أيضًا ==
* صفحة الخاصيات الفرعية التي تضبطها الخاصية <code>transition</code> وهي <code>[[CSS/transition-delay|transition-delay]]</code> و <code>[[CSS/transition-duration|transition-duration]]</code> و <code>[[CSS/transition-property|transition-property]]</code>و <code>[[CSS/transition-timing-function|transition-timing-function]]</code>.


== مصادر ومواصفات ==
== مصادر ومواصفات ==
* مسودة [https://drafts.csswg.org/css-transitions/#transition-shorthand-property CSS Transitions].  
* مسودة [https://drafts.csswg.org/css-transitions/#transition-shorthand-property CSS Transitions].  
[[تصنيف:CSS]]
[[تصنيف:CSS|{{SUBPAGENAME}}]]
[[تصنيف:CSS Property]]
[[تصنيف:CSS Property|{{SUBPAGENAME}}]]
[[تصنيف:CSS Transitions]]
[[تصنيف:CSS Transitions|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 10:36، 9 سبتمبر 2018

الخاصية transition في CSS هي خاصية مختصرة تؤدي إلى ضبط قيم الخاصيات transition-property و transition-duration و transition-timing-function و transition-delay.

بطاقة الخاصية

القيمة الابتدائية لكل خاصية مختصرة:
تُطبَّق على جميع العناصر.
قابلة للوراثة لا
قابلة للتحريك لا
القيمة المحسوبة لكل خاصية مختصرة:
/* property name | duration */
transition: margin-right 4s;

/* property name | duration | delay */
transition: margin-right 4s 1s;

/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;

/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;

/* تطبيق التأثير على خاصيتين */
transition: margin-right 4s, color 1s;

/* تطبيق تأثير الانتقال على جميع الخاصيات التي تغيّرت قيمها */
transition: all 0.5s ease-out;

/* القيم العامة */
transition: inherit;
transition: initial;
transition: unset;

تسمح لنا تأثيرات الانتقال بالتحويل بين حالتين من حالات العنصر مع حركة، ويمكن تفعيل حالات العنصر باستخدام الأصناف الزائفة (pseudo-classes) مثل ‎:hover و ‎:active أو بضبطها ديناميكيًا باستخدام JavaScript.

أمثلة

مثال يوضح استخدام الخاصية transition لضبط تأثير الانتقال بمختلف خصائصه على خاصية CSS أو أكثر:

 <div class="grid">
  <div class="col">
    <div class="cell">
      <div class="t t1">transition: margin-right 4s;</div>
    </div>
    <div class="cell">
      <div class="t t2">transition: margin-right 4s 1s;</div>
    </div>
    <div class="cell">
      <div class="t t3">transition: margin-right 4s ease-in-out;</div>
    </div>
    <div class="cell">
      <div class="t t4">transition: margin-right 4s ease-in-out 1s;</div>
    </div>
    <div class="cell">
      <div class="t t5">transition: margin-right 4s, color 1s;</div>
    </div>
    <div class="cell">
      <div class="t t6">transition: all 0.5s ease-out;</div>
    </div>
  </div>
</div>

شيفرة CSS:

.grid {
  width: 100%;
  height: 100%;
  display: flex;
  background: #EEE;
  font: 1em monospace;
}

.col {
  display: flex;
  flex: 1 auto;
  flex-direction: column;
}

.cell {
  box-sizing: border-box;
  margin: .5em;
  padding: .5em;
  background-color: #FFF;
  overflow: hidden;
}

.t {
  background-color: #E4F0F5;
  color: #000;
  padding: .5rem;
  border-radius: .5rem;
  overflow: hidden;
  white-space: nowrap;
}

.grid:hover .t, .grid:active .t {
  background-color: #990099;
  color: #FFF;
  margin-right: 50%;
}

.t1 { transition: margin-right 4s; }
.t2 { transition: margin-right 4s 1s; }
.t3 { transition: margin-right 4s ease-in-out; }
.t4 { transition: margin-right 4s ease-in-out 1s; }
.t5 { transition: margin-right 4s, color 1s; }
.t6 { transition: all 0.5s ease-out; }

دعم المتصفحات

الميزة Chrome Firefox Internet Explorer Opera Safari
الدعم الأساسي 1.0 (مع السابقة -webkit-)

26.0

4.0 (مع السابقة -moz-)

16.0

10 11.5 (مع السابقة -o-)

12.1

3.1 (مع السابقة -webkit-)

6.1

البنية العامة

تقبل الخاصية transition قيمةً واحدةً أو أكثر من تأثيرات الانتقال لتطبيقها على العنصر، ويفصل بين تلك القيم بفاصلة.

كل قيمة من قيم هذه الخاصية تصف خصائص الانتقال الحركي، وتتضمن ما يلي:

  • اسم الخاصية التي سيُطبَّق عليها التأثير، ويمكن أن تكون:
    • الكلمة المحجوزة none
    • الكلمة المحجوزة all
    • اسم إحدى خاصيات CSS القابلة للتحريك
  • <timing-function> صفر مرة أو أكثر التي تصف دالة التوقيت المستخدمة مع الحركة.
  • قيمة زمنية <time> صفر مرة أو مرة واحدة أو مرتين. وأوّل قيمة ستُفسَّر على أنها الوقت المسند للخاصية transition-duration، والقيمة الثانية ستُفسَّر على أنها الوقت المُسنَد للخاصية transition-delay.

البنية الرسمية

transition: <single-transition>#;

حيث:

<single-transition> = [ none | <single-transition-property> ] || <time> || <single-transition-timing-function> || <time>

حيث:

<single-transition-property> = all | <custom-ident>
<single-transition-timing-function> = <single-timing-function>

انظر أيضًا

مصادر ومواصفات