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

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
 
(3 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 4: سطر 4:
== نظرة عامّة ==
== نظرة عامّة ==


يستخدم إطار العمل Bootstrap كتلة عريضة من الروابط المرتبطة في ما بينها للإشارة إلى وجود المحتوى على صفحات عدّة، وجعل الروابط سهلة التمييز والتمدّد، مع توفير مساحة نقر مريحة. يُبنَى شريط التصفّح باستخدام عناصر HTML وبالتالي يمكن لقارئات الشاشة قراءة عدد الروابط الموجودة. استخدم العنصُر <code>&lt;nav&gt;</code> لتقديم عناصر التصفّح إلى  قارئات الشاشة والتقنيّات المساعدة الأخرى على أنّها عناصر تنقّل.
يستخدم إطار العمل Bootstrap كتلة عريضة من الروابط المرتبطة في ما بينها للإشارة إلى وجود المحتوى على صفحات عدّة، وجعل الروابط سهلة التمييز والتمدّد، مع توفير مساحة نقر مريحة. يُبنَى شريط التصفّح باستخدام عناصر HTML وبالتالي يمكن لقارئات الشاشة قراءة عدد الروابط الموجودة. استخدم العنصُر <code>[[HTML/nav|&lt;nav&gt;]]</code> لتقديم عناصر التصفّح إلى  قارئات الشاشة والتقنيّات المساعدة الأخرى على أنّها عناصر تنقّل.


يُنصَح - علاوة على ذلك - باستخدام الخاصيّة <code>aria-label</code> ضمن العنصُر <code>&lt;nav&gt;</code> للدلالة على الغرض من شريط التصفّح الذي يتكوّن عادةً من أكثر من صفحة. إنْ كان شريط التصفّح يُستخدَم - مثلا - للتنقّل بين مجموعة من نتائج البحث فإنّه يمكن إعطاء القيمة "صفحات نتائج البحث" للخاصيّة <code>aria-label</code>.
يُنصَح - علاوة على ذلك - باستخدام الخاصيّة <code>aria-label</code> ضمن العنصُر <code>[[HTML/nav|&lt;nav&gt;]]</code> للدلالة على الغرض من شريط التصفّح الذي يتكوّن عادةً من أكثر من صفحة. إنْ كان شريط التصفّح يُستخدَم - مثلًا - للتنقّل بين مجموعة من نتائج البحث فإنّه يمكن إعطاء القيمة "صفحات نتائج البحث" للخاصيّة <code>aria-label</code>.


<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
سطر 22: سطر 22:
== استخدام الأيقونات في شريط التصفّح ==
== استخدام الأيقونات في شريط التصفّح ==


تأكّد عند استخدام أيقونات أو رموز بدلًا من المحتوى النصيّ في بعضٍ من روابط التصفّح من توفير الدعم لقارئات الشاشة والتقنيّات المساعدة باستخدام الخاصيّات <code>aria -*‎</code> والأداة <code>‎.sr-only</code>.
تأكّد عند استخدام أيقونات أو رموز بدلًا من المحتوى النصيّ في بعضٍ من روابط التصفّح من توفير الدعم لقارئات الشاشة والتقنيّات المساعدة باستخدام الخاصيّات <code>aria-*‎</code>.


<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
سطر 28: سطر 28:
   <ul class="pagination">
   <ul class="pagination">
     <li class="page-item">
     <li class="page-item">
       <a class="page-link" href="#" aria-label="السابق">
       <a class="page-link" href="#" aria-label="Previous">
         <span aria-hidden="true">&laquo;</span>
         <span aria-hidden="true">&laquo;</span>
        <span class="sr-only">السابق</span>
       </a>
       </a>
     </li>
     </li>
سطر 37: سطر 36:
     <li class="page-item"><a class="page-link" href="#">3</a></li>
     <li class="page-item"><a class="page-link" href="#">3</a></li>
     <li class="page-item">
     <li class="page-item">
       <a class="page-link" href="#" aria-label="التالي">
       <a class="page-link" href="#" aria-label="Next">
         <span aria-hidden="true">&raquo;</span>
         <span aria-hidden="true">&raquo;</span>
        <span class="sr-only">التالي</span>
       </a>
       </a>
     </li>
     </li>
سطر 48: سطر 46:
== تنشيط روابط الصفحات وتعطيلها ==
== تنشيط روابط الصفحات وتعطيلها ==


يمكن تخصيص روابط التصفّح حسب الحاجة. استخدم الصنف <code>‎.disabled</code> للروابط التي تظهر غير قابلة للنقر والصنف  <code>‎.active</code> للإشارة إلى الصفحة النشطة حاليّا.
يمكن تخصيص روابط التصفّح حسب الحاجة. استخدم الصنف <code>‎.disabled</code> للروابط التي تظهر غير قابلة للنقر والصنف  <code>‎.active</code> للإشارة إلى الصفحة النشطة حاليًّا.


يستخدم الصنف <code>‎.disabled</code> الخاصيّة <code>pointer-events: none</code> ل_محاولة_ تعطيل وظيفة الرابط من العنصُر <code>&lt;a&gt;</code>، إلّا أنّ هذه الخاصيّة ليست معياريّة في CSS حتى الآن، ولا تؤثّر على التنقّل باستخدام لوحة المفاتيح. لذا يجب دائمًا إضافة الخاصيّة <code>tabindex="-1"‎</code> إلى الروابط المُعطّلة واستخدام شفرة JavaScript مُخصَّصة لتعطيل وظيفتها.
يستخدم الصنف <code>‎.disabled</code> الخاصيّة <code>pointer-events: none</code> ''لمحاولة'' تعطيل وظيفة الرابط من العنصُر <code>[[HTML/a|&lt;a&gt;]]</code>، إلّا أنّ هذه الخاصيّة ليست معياريّة في CSS حتى الآن، ولا تؤثّر على التنقّل باستخدام لوحة المفاتيح. لذا يجب دائمًا إضافة الخاصيّة <code>tabindex="-1"‎</code> إلى الروابط المُعطّلة واستخدام شفرة JavaScript مُخصَّصة لتعطيل وظيفتها.


<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
سطر 70: سطر 68:
</syntaxhighlight>
</syntaxhighlight>


يمكن التخلّي عن الروابط النشطة أو المُعطّلة واستخدام <code>&lt;span&gt;</code> مكانها، أو عدم استخدام الرابط (<code>&lt;a&gt;</code>) بالنسبة للسّهم في حالتيْ التالي/السابق لحذف وظيفة الرابط ومنع استقبال المؤشّر باستخدام لوحة المفاتيح مع الإبقاء على التنسيق المرغوب.
يمكن التخلّي عن الروابط النشطة أو المُعطّلة واستخدام <code>[[HTML/span|&lt;span&gt;]]</code> مكانها، أو عدم استخدام الرابط (<code>[[HTML/a|&lt;a&gt;]]</code>) بالنسبة للسّهم في حالتيْ التالي/السابق لحذف وظيفة الرابط ومنع استقبال المؤشّر باستخدام لوحة المفاتيح مع الإبقاء على التنسيق المرغوب.


<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
سطر 99: سطر 97:
<nav aria-label="...">
<nav aria-label="...">
   <ul class="pagination pagination-lg">
   <ul class="pagination pagination-lg">
     <li class="page-item disabled">
     <li class="page-item active" aria-current="page">
       <a class="page-link" href="#" tabindex="-1">1</a>
       <span class="page-link">
        1
        <span class="sr-only">(current)</span>
      </span>
     </li>
     </li>
     <li class="page-item"><a class="page-link" href="#">2</a></li>
     <li class="page-item"><a class="page-link" href="#">2</a></li>
سطر 110: سطر 111:
<nav aria-label="...">
<nav aria-label="...">
   <ul class="pagination pagination-sm">
   <ul class="pagination pagination-sm">
     <li class="page-item disabled">
     <li class="page-item active" aria-current="page">
       <a class="page-link" href="#" tabindex="-1">1</a>
       <span class="page-link">
        1
        <span class="sr-only">(current)</span>
      </span>
     </li>
     </li>
     <li class="page-item"><a class="page-link" href="#">2</a></li>
     <li class="page-item"><a class="page-link" href="#">2</a></li>
     <li class="page-item"><a class="page-link" href="#">3</a></li>
     <li class="page-item"><a class="page-link" href="#">3</a></li>
   </ul>
   </ul>
</nav>
</nav
</syntaxhighlight>
</syntaxhighlight>
== المحاذاة ==
== المحاذاة ==


بدّل محاذاة مكوّنات التصفّح باستخدام أدوات Flexbox.
بدّل محاذاة مكوّنات التصفّح باستخدام [[Bootstrap/flex|أدوات Flexbox]].


<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
سطر 153: سطر 157:
</syntaxhighlight>
</syntaxhighlight>
== مصادر ==
== مصادر ==
* [https://getbootstrap.com/docs/4.0/components/pagination/ صفحة Pagination توثيق Bootstrap].
* [https://getbootstrap.com/docs/4.5/components/pagination/ صفحة Pagination في توثيق Bootstrap].
[[تصنيف:Bootstrap]][[تصنيف:Bootstrap components]]
[[تصنيف:Bootstrap|{{SUBPAGENAME}}]]
[[تصنيف:Bootstrap components|{{SUBPAGENAME}}]]

المراجعة الحالية بتاريخ 06:40، 13 يوليو 2020

استخدم مكوِّن التصفّح الذي يقدّمه إطار العمل Bootstrap للدّلالة على وجود سلسلة محتوى مرتبط مُقسَّم على صفحات عدّة.

نظرة عامّة

يستخدم إطار العمل Bootstrap كتلة عريضة من الروابط المرتبطة في ما بينها للإشارة إلى وجود المحتوى على صفحات عدّة، وجعل الروابط سهلة التمييز والتمدّد، مع توفير مساحة نقر مريحة. يُبنَى شريط التصفّح باستخدام عناصر HTML وبالتالي يمكن لقارئات الشاشة قراءة عدد الروابط الموجودة. استخدم العنصُر <nav> لتقديم عناصر التصفّح إلى قارئات الشاشة والتقنيّات المساعدة الأخرى على أنّها عناصر تنقّل.

يُنصَح - علاوة على ذلك - باستخدام الخاصيّة aria-label ضمن العنصُر <nav> للدلالة على الغرض من شريط التصفّح الذي يتكوّن عادةً من أكثر من صفحة. إنْ كان شريط التصفّح يُستخدَم - مثلًا - للتنقّل بين مجموعة من نتائج البحث فإنّه يمكن إعطاء القيمة "صفحات نتائج البحث" للخاصيّة aria-label.

<nav aria-label="مثال على صفحات التنقّل">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="#">السابق</a></li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item"><a class="page-link" href="#">التالي</a></li>
  </ul>
</nav>

استخدام الأيقونات في شريط التصفّح

تأكّد عند استخدام أيقونات أو رموز بدلًا من المحتوى النصيّ في بعضٍ من روابط التصفّح من توفير الدعم لقارئات الشاشة والتقنيّات المساعدة باستخدام الخاصيّات aria-*‎.

<nav aria-label="مثال على صفحات التنقّل">
  <ul class="pagination">
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Previous">
        <span aria-hidden="true">&laquo;</span>
      </a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#" aria-label="Next">
        <span aria-hidden="true">&raquo;</span>
      </a>
    </li>
  </ul>
</nav>

تنشيط روابط الصفحات وتعطيلها

يمكن تخصيص روابط التصفّح حسب الحاجة. استخدم الصنف ‎.disabled للروابط التي تظهر غير قابلة للنقر والصنف ‎.active للإشارة إلى الصفحة النشطة حاليًّا.

يستخدم الصنف ‎.disabled الخاصيّة pointer-events: none لمحاولة تعطيل وظيفة الرابط من العنصُر <a>، إلّا أنّ هذه الخاصيّة ليست معياريّة في CSS حتى الآن، ولا تؤثّر على التنقّل باستخدام لوحة المفاتيح. لذا يجب دائمًا إضافة الخاصيّة tabindex="-1"‎ إلى الروابط المُعطّلة واستخدام شفرة JavaScript مُخصَّصة لتعطيل وظيفتها.

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">السابق</a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active">
      <a class="page-link" href="#">2 <span class="sr-only">(الحالي)</span></a>
    </li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">التالي</a>
    </li>
  </ul>
</nav>

يمكن التخلّي عن الروابط النشطة أو المُعطّلة واستخدام <span> مكانها، أو عدم استخدام الرابط (<a>) بالنسبة للسّهم في حالتيْ التالي/السابق لحذف وظيفة الرابط ومنع استقبال المؤشّر باستخدام لوحة المفاتيح مع الإبقاء على التنسيق المرغوب.

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <span class="page-link">السابق</span>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active">
      <span class="page-link">
        2
        <span class="sr-only">(الحالي)</span>
      </span>
    </li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">التالي</a>
    </li>
  </ul>
</nav>

تحديد الأبعاد

أضف أحد الصنفيْن ‎.pagination-lg (أزرار كبيرة) أو ‎.pagination-sm (أزرار صغيرة) للحصول على أحجام إضافيّة لشريط التصفّح.

<nav aria-label="...">
  <ul class="pagination pagination-lg">
    <li class="page-item active" aria-current="page">
      <span class="page-link">
        1
        <span class="sr-only">(current)</span>
      </span>
    </li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
  </ul>
</nav>
<nav aria-label="...">
  <ul class="pagination pagination-sm">
    <li class="page-item active" aria-current="page">
      <span class="page-link">
        1
        <span class="sr-only">(current)</span>
      </span>
    </li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
  </ul>
</nav

المحاذاة

بدّل محاذاة مكوّنات التصفّح باستخدام أدوات Flexbox.

<nav aria-label="مثال على صفحات التنقّل">
  <ul class="pagination justify-content-center">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">السابق</a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">التالي</a>
    </li>
  </ul>
</nav>
<nav aria-label="مثال على صفحات التنقّل">
  <ul class="pagination justify-content-end">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">السابق</a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">التالي</a>
    </li>
  </ul>
</nav>

مصادر