Важно е потребителският интерфейс да бъде интуитивен и привлекателен. Един начин да постигнете това е чрез използването на Flexbox в CSS. С Flexbox можете да контролирате не само насочването и разпределението на елементите в макета, но и да променяте видимостта и реда на елементите без да засягате DOM (Document Object Model). В този учебник ще разгледаме по-подробно CSS свойството order, което ви позволява да променяте реда на Flexbox елементите, както и използването на flex-direction, за лесно обръщане на реда на елементите за показване.

Най-важните изводи

  • Свойството на CSS order влияе на видимия ред на Flexbox елементите.
  • Промените в реда на order нямат влияние върху първоначалния ред в DOM.
  • Посоката на Flexbox може да бъде обърната с flex-direction (например row-reverse), за да се промени показването.

По стъпково ръководство

За да демонстрираме работата на свойството order и възможността за обръщане на показването с flex-direction, ще излъчим следните стъпки:

1. Създаване на основи на Flexbox

Първо трябва да се уверите, че вашият контейнер разполага с Flexbox свойства. За целта, задайте CSS правилото display: flex; на вашия контейнер.

Flexbox в CSS: Така подреждаш елементите с Order и Reverse Direction

2. Разбиране на реда на елементите в DOM

Проверете оригиналния ред на елементите във вашия DOM. Важно е да знаете, че стандартният ред в DOM е базата, върху която се изгражда Flexbox-редът.

3. Използване на свойството Order

За да повлияете на показването на елементите, можете да зададете свойството order на отрицателни стойности. По подразбиране елементите имат стойност 0. Ако зададете стойност -1 на елемент, той ще бъде визуално изтеглен напред.

Flexbox в CSS: Така подреждаш елементи с Order и обратна посока

4. Прилагане на визуално сортиране

Ако искате да приспособите първия елемент визуално, трябва да имате предвид следното: Стандартната стойност на свойството order е 0. За да покажете един елемент пред друг, трябва да изберете по-малка стойност. Задачи като -1, -2 или дори отрицателни стотици са възможни.

Flexbox в CSS: Така подреждаш елементите с Order и Reverse Direction

5. Извършване на допълнителни настройки

Променете стойностите на order на останалите елементи. Например, за да имате втория елемент на първо място, трябва да му зададете -1 или да му дадете стойност по-малка от актуалната стойност на order.

Flexbox в CSS: Така подреждаш елементите с Order и Reverse Direction

6. Използването на отрицателна стойност на Order

Когато използвате свойството order за промяна на реда, визуалният ред се сортира във възходящ ред, като най-малката стойност е първо.

Flexbox в CSS: Така подреждаш елементи с Order и Reverse Direction

7. Обръщане на Flex-Direction

Едно от най-мощните инструменти е свойството flex-direction. Ако зададете това на row-reverse, редът ще се промени да се показва от дясно наляво. Проверете как се подреждат елементите в този случай визуално при тази промяна.

Flexbox в CSS: Така подреждаш елементи с Order и Reverse Direction

8. Промяна на Order в обратна насока

Когато използвате flex-direction: column;, макетът ще се изобрази отгоре надолу. Отрицателно order-атрибутът може също да бъде използван, за да повлияе на реда.

Flexbox в CSS: Така сортирате елементи с Order и Reverse Direction

9. Приложение върху четец на екран

Ако искате да вземете предвид визуалния ред за четец на екран, е важно да знаете, че той чете първоначалния DOM ред. Затова визуалните промени с order не са достъпни за всички потребители.

Flexbox в CSS: Така подреждате елементи с Order и Reverse Direction

Резюме

В това ръководство научихте как да използвате CSS свойството order, за да контролирате видимостта и реда на Flexbox елементите. Също така научихте как да обърнете дисплея с flex-direction, за да направите вашите макети още по-гъвкави и удобни за потребителите. Имайте предвид, че визуалните промени в изгледа не променят основния ред в DOM, което трябва да се има предвид за достъпността.

Често задавани въпроси

Как работи свойството order?Свойството order влияе на видимия ред на Flexbox елементите. Първи се показва елемент с по-ниска стойност.

Как може да обърна Flex-Direction?Задайте свойството flex-direction на row-reverse или column-reverse, за да промените реда на показване.

Влияе ли свойството order на DOM реда?Не, свойството order само променя визуалното представяне на елементите, не и реда в DOM.

Какво се случва, ако стойностите на order са равни?Ако стойностите на order са равни, се използва първоначалния DOM ред за представяне.

Как трябва да се отнася с Screen Readern?Понеже Screen Reader-ите четат DOM реда, трябва да се уверите, че визуалното подреждане остава достъпно за всички потребители.