გადადით მთავარ შინაარსზე დოკუმენტების ნავიგაციაზე გადასვლა
in English

პაგირება

დოკუმენტაცია და მაგალითები გვერდების ჩვენებისთვის, რათა მიუთითებდეს დაკავშირებული შინაარსის სერიას, არსებობს რამდენიმე გვერდზე.

მიმოხილვა

ჩვენ ვიყენებთ დაკავშირებული ბმულების დიდ ბლოკს ჩვენი პაგინაციისთვის, რაც ართულებს ბმულების გამოტოვებას და ადვილად მასშტაბირებას - ეს ყველაფერი მაშინ, როდესაც უზრუნველყოფს დიდი დარტყმის ზონებს. პაგინაცია აგებულია სიის HTML ელემენტებით, რათა ეკრანის მკითხველებმა გამოაცხადონ ხელმისაწვდომი ბმულების რაოდენობა. გამოიყენეთ შეფუთვის <nav>ელემენტი, რათა იდენტიფიციროთ ის, როგორც ნავიგაციის განყოფილება ეკრანის წამკითხველებისთვის და სხვა დამხმარე ტექნოლოგიებისთვის.

გარდა ამისა, რადგან გვერდებს სავარაუდოდ აქვთ ერთზე მეტი ნავიგაციის განყოფილება, მიზანშეწონილია მიაწოდოთ აღწერილობა aria-label, <nav>რათა ასახოს მისი მიზანი. მაგალითად, თუ პაგინაციის კომპონენტი გამოიყენება ძიების შედეგებს შორის ნავიგაციისთვის, შესაბამისი ლეიბლი შეიძლება იყოს 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>

ხატებთან მუშაობა

გსურთ გამოიყენოთ ხატულა ან სიმბოლო ტექსტის ნაცვლად ზოგიერთი პა���ინაციის ბმულისთვის? დარწმუნდით, რომ უზრუნველყოთ ეკრანის წამკითხველის სათანადო მხარდაჭერა 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>

ინვალიდი და აქტიური ქვეყნები

პაგინაციის ბმულები მორგებულია სხვადასხვა გარემოებებისთვის. გამოიყენეთ .disabledბმულებისთვის, რომლებიც გამოჩნდება დაუწკაპუნებლად და .activeმიმდინარე გვერდის მითითებისთვის.

მიუხედავად იმისა, რომ კლასი იყენებს.disabled s- ის ბმულის ფუნქციონირების გამორთვას , ეს CSS თვისება ჯერ არ არის სტანდარტიზებული და არ ითვალისწინებს კლავიატურის ნავიგაციას. როგორც ასეთი, თქვენ ყოველთვის უნდა დაამატოთ გამორთული ბმულები და გამოიყენოთ მორგებული JavaScript, რომ სრულად გამორთოთ მათი ფუნქციონირება.pointer-events: none<a>tabindex="-1"

<nav aria-label="...">
  <ul class="pagination">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1" aria-disabled="true">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>

შეგიძლიათ სურვილისამებრ შეცვალოთ აქტიური ან გამორთული წამყვანები <span>, ან გამოტოვოთ წამყვანი წინა/შემდეგი ისრების შემთხვევაში, რათა ამოიღოთ დაწკაპუნების ფუნქცია და თავიდან აიცილოთ კლავიატურაზე ფოკუსირება, ხოლო განზრახული სტილის შენარჩუნება.

<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>

გაზომვა

გნებავთ უფრო დიდი თუ პატარა პაგინაცია? დაამატეთ .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>
    </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>

გასწორება

შეცვალეთ პაგინაციის კომპონენტების გასწორება flexbox უტილიტებით .

<nav aria-label="Page navigation example">
  <ul class="pagination justify-content-center">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1" aria-disabled="true">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" href="#" tabindex="-1" aria-disabled="true">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>

სას

ცვლადები

$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;

მიქსინები

@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);
      }
    }
  }
}