Tsibela kumxholo ophambili Tsiba uye kukhangelo lwamaxwebhu
in English

Ukwenziwa kwePagination

Amaxwebhu kunye nemizekelo yokubonisa ukwenziwa kwamaphepha ukubonisa uluhlu lwesiqulatho esiyeleleneyo sikhona kumaphepha amaninzi.

Isishwankathelo

Sisebenzisa ibhloko enkulu yamakhonkco aqhagamshelweyo kwi-pagination yethu, ukwenza amakhonkco abe nzima ukuwaphosa kwaye ahlaziywe ngokulula-ngalo lonke ixesha ebonelela ngeendawo ezinkulu ezibethayo. IPagination yakhiwe ngoluhlu lwezinto zeHTML ukuze abafundi besikrini babhengeze inani lamakhonkco akhoyo. Sebenzisa into yokusonga <nav>ukuyichonga njengecandelo lokukhangela kwiscreen readers kunye nobunye ubugcisa bokuncedisa.

Ukongeza, njengoko amaphepha enokuba nangaphezulu kwelinye icandelo lokukhangela elinjalo, kuyacetyiswa ukuba unikeze inkcazo aria-labelukuze <nav>ibonise injongo yayo. Umzekelo, ukuba indawo yokubhala isetyenziselwa ukuzulazula phakathi kweqela leziphumo zokhangelo, ileyibhile efanelekileyo inokuba aria-label="Search results pages".

<nav aria-label="Page navigation example">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="#">Previous</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="#">Next</a></li>
  </ul>
</nav>

Ukusebenza ngee-icon

Ngaba ujonge ukusebenzisa i-icon okanye isimboli endaweni yesicatshulwa kwezinye ikhonkco leepagination? Qinisekisa ukubonelela ngenkxaso yesifundi sesikrini esifanelekileyo ngeempawu aria.

<nav aria-label="Page navigation example">
  <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>

Iimeko ezikhubazekileyo nezisebenzayo

Iikhonkco zePagination ziyakwazi ukwenzeka kwiimeko ezahlukeneyo. Sebenzisa .disabledamakhonkco abonakala engenakucofa kunye .activenokubonisa iphepha langoku.

Ngelixa .disablediklasi isebenzisa pointer-events: noneukuzama ukukhubaza usebenziso lwekhonkco lwe- s<a> , loo propati ye-CSS ayikabikho emgangathweni kwaye ayiphenduli kukhangelo lwebhodi yezitshixo. Ngokunjalo, kufuneka usoloko usongeza tabindex="-1"kuqhagamshelo oluvaliweyo kwaye usebenzise iJavaScript yesiko ukuvala ukusebenza kwayo ngokupheleleyo.

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <a class="page-link">Previous</a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active" aria-current="page">
      <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="#">Next</a>
    </li>
  </ul>
</nav>

Ungatshintsha ngokukhetha iiankile ezisebenzayo okanye ezikhubazekileyo ze <span>, okanye ushiye iiankile kwimeko yangaphambili/elandelayo iintolo, ukususa umsebenzi wonqakrazo kwaye uthintele ugxininiso lwebhodi yezitshixo ngelixa ugcina izimbo ezicetyiweyo.

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <span class="page-link">Previous</span>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item active" aria-current="page">
      <span class="page-link">2</span>
    </li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">Next</a>
    </li>
  </ul>
</nav>

Ubungakanani

Ngaba ufuna ukwenza i-pagination enkulu okanye encinci? Yongeza .pagination-lgokanye .pagination-smiisayizi ezongezelelweyo.

<nav aria-label="...">
  <ul class="pagination pagination-lg">
    <li class="page-item active" aria-current="page">
      <span class="page-link">1</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>
    </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>

Ulungelelwaniso

Guqula ulungelelwaniso lwamacandelo ephegination ngezixhobo ze- flexbox .

<nav aria-label="Page navigation example">
  <ul class="pagination justify-content-center">
    <li class="page-item disabled">
      <a class="page-link">Previous</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="#">Next</a>
    </li>
  </ul>
</nav>
<nav aria-label="Page navigation example">
  <ul class="pagination justify-content-end">
    <li class="page-item disabled">
      <a class="page-link">Previous</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="#">Next</a>
    </li>
  </ul>
</nav>

Sass

Izinto eziguquguqukayo

$pagination-padding-y:              .375rem;
$pagination-padding-x:              .75rem;
$pagination-padding-y-sm:           .25rem;
$pagination-padding-x-sm:           .5rem;
$pagination-padding-y-lg:           .75rem;
$pagination-padding-x-lg:           1.5rem;

$pagination-color:                  $link-color;
$pagination-bg:                     $white;
$pagination-border-width:           $border-width;
$pagination-border-radius:          $border-radius;
$pagination-margin-start:           -$pagination-border-width;
$pagination-border-color:           $gray-300;

$pagination-focus-color:            $link-hover-color;
$pagination-focus-bg:               $gray-200;
$pagination-focus-box-shadow:       $input-btn-focus-box-shadow;
$pagination-focus-outline:          0;

$pagination-hover-color:            $link-hover-color;
$pagination-hover-bg:               $gray-200;
$pagination-hover-border-color:     $gray-300;

$pagination-active-color:           $component-active-color;
$pagination-active-bg:              $component-active-bg;
$pagination-active-border-color:    $pagination-active-bg;

$pagination-disabled-color:         $gray-600;
$pagination-disabled-bg:            $white;
$pagination-disabled-border-color:  $gray-300;

$pagination-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;

$pagination-border-radius-sm:       $border-radius-sm;
$pagination-border-radius-lg:       $border-radius-lg;

Imixube

@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
  .page-link {
    padding: $padding-y $padding-x;
    @include font-size($font-size);
  }

  .page-item {
    @if $pagination-margin-start == (-$pagination-border-width) {
      &:first-child {
        .page-link {
          @include border-start-radius($border-radius);
        }
      }

      &:last-child {
        .page-link {
          @include border-end-radius($border-radius);
        }
      }
    } @else {
      //Add border-radius to all pageLinks in case they have left margin
      .page-link {
        @include border-radius($border-radius);
      }
    }
  }
}