JS властивість CSSStyleDeclaration.flexDirection


Загальний опис

element.style.flexDirection – це властивість CSS, яку можна використовувати в JavaScript для встановлення або отримання напрямку розташування гнучких елементів у контейнері Flexbox. Вона визначає, як гнучкі елементи розташовуються в контейнері: по горизонталі чи по вертикалі, та в якому порядку.

Властивість flexDirection має чотири можливі значення:

  1. row: Гнучкі елементи розташовуються в рядок зліва направо (за замовчуванням).
  2. row-reverse: Гнучкі елементи розташовуються в рядок справа наліво.
  3. column: Гнучкі елементи розташовуються в колонку зверху вниз.
  4. column-reverse: Гнучкі елементи розташовуються в колонку знизу вверх.

Використання element.style.flexDirection:

  1. Встановлення значення flexDirection:

    const container = document.getElementById('flexContainer');
    container.style.flexDirection = 'column';
    

    У цьому прикладі ми встановлюємо напрямок розташування гнучких елементів у контейнері з id flexContainer вертикально зверху вниз.

  2. Отримання значення flexDirection:

    const container = document.getElementById('flexContainer');
    const direction = container.style.flexDirection;
    console.log(direction);
    

    Цей код отримує поточне значення flexDirection для контейнера і виводить його у консоль.

Приклади

Використання row-reverse:

const container = document.getElementById('flexContainer');
container.style.flexDirection = 'row-reverse';

Цей приклад змінює розташування гнучких елементів у рядок справа наліво.

Використання column-reverse:

const container = document.getElementById('flexContainer');
container.style.flexDirection = 'column-reverse';

Цей приклад встановлює розташування гнучких елементів у колонку знизу вверх.

Динамічна зміна напрямку

Розглянемо приклад динамічної зміни напрямку розташування елементів у залежності від натискання кнопки:

const button = document.getElementById('changeDirectionButton');
const container = document.getElementById('flexContainer');

button.addEventListener('click', () => {
  if (container.style.flexDirection === 'row') {
    container.style.flexDirection = 'column';
  } else {
    container.style.flexDirection = 'row';
  }
});

У цьому прикладі, при натисканні кнопки з id changeDirectionButton, напрямок розташування елементів у контейнері змінюється між рядком і колонкою.

Властивість element.style.flexDirection є важливим інструментом для управління розташуванням елементів у гнучкому контейнері, надаючи гнучкість у створенні адаптивних та зручних інтерфейсів.

автор: Bond

Порада

Властивість flexDirection часто використовують разом з іншими властивостями Flexbox, такими як justifyContent, alignItems та flexWrap, для досягнення бажаного розташування елементів.

автор: Bond
Порада

Використовуючи JavaScript, ви можете динамічно змінювати напрямок розташування елементів у залежності від певних умов або подій, таких як натискання кнопки чи зміна розміру вікна.

автор: Bond
Порада

Можна комбінувати flexDirection із media queries для адаптивного дизайну. Наприклад, використовуйте JavaScript для перевірки розміру вікна та змінюйте напрямок елементів на основі цієї перевірки:

if (window.innerWidth < 600) {
  element.style.flexDirection = 'column';
} else {
  element.style.flexDirection = 'row';
}
автор: Bond

Синтаксис

element.style.flexDirection

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE
1 1 3 8 12
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1
Підтримка: серверні переглядачі
Переглядач Node.js Deno
- -

Приклади

+ запропонувати свій приклад у пісочниці

У цьому прикладі показано, як змінювати напрямок розташування повідомлень у чаті за допомогою кнопки. За замовчуванням повідомлення розташовуються вертикально зверху вниз, але при натисканні кнопки їх можна розмістити у зворотному порядку. Це корисно для додатків, де користувач може обирати спосіб перегляду історії повідомлень.

HTML

<div id="chatContainer">Демонстраційний елемент</div>
<button id="reverseButton">Натисни</button>

JS

const chatContainer = document.getElementById('chatContainer');
const messages = chatContainer.children;

function reverseChatDirection() {
  chatContainer.style.flexDirection = chatContainer.style.flexDirection === 'column' ? 'column-reverse' : 'column';
}

document.getElementById('reverseButton').addEventListener('click', reverseChatDirection);
автор: Bond

Цей приклад показує, як динамічно змінювати напрямок розташування елементів галереї зображень на основі ширини вікна браузера. Якщо ширина вікна більше 800 пікселів, зображення розміщуються горизонтально, інакше - вертикально. Це дозволяє створити адаптивний інтерфейс, який підлаштовується під різні розміри екранів.

HTML

<div id="gallery">Демонстраційний елемент</div>

JS

const gallery = document.getElementById('gallery');
const images = gallery.children;

function updateGalleryDirection() {
  const windowWidth = window.innerWidth;
  gallery.style.flexDirection = windowWidth > 800 ? 'row' : 'column';
}

window.addEventListener('resize', updateGalleryDirection);
updateGalleryDirection();
автор: Bond

Цей приклад дозволяє користувачу вибирати різні напрямки розташування елементів у контейнері Flexbox за допомогою радіо-кнопок. Обране значення автоматично застосовується до контейнера, змінюючи розташування елементів у режимі реального часу.

автор: Bond

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід