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


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

element.style.columns - це властивість CSS, яка визначає кількість колонок, у які розбивається контент елемента. Ця властивість дозволяє створювати ефективні багатоколонкові макети на веб-сторінках.

Для використання element.style.columns у JavaScript, спочатку отримайте доступ до відповідного елемента DOM. Наприклад, якщо вам потрібно розділити div на три колонки, то встановіть значення columnCount на 3:

let element = document.getElementById('myElement');
element.style.columnCount = 3;

Використання element.style.columns особливо корисне для поділу довгого тексту на зручні колонки, що поліпшує читабельність та організацію інформації. Наприклад, для поділу параграфа на дві колонки:

let paragraph = document.getElementById('myParagraph');
paragraph.style.columns = '2';

Додавання додаткових стилів до багатоколонкового макету може покращити його вигляд. Наприклад, можна налаштувати відстань між колонками за допомогою columnGap:

element.style.columnGap = '20px';

Також, можна використовувати element.style.columns для створення різноманітних макетів, наприклад, для відображення каруселі зображень у колонках або для створення структурованого списку новин. За допомогою цієї властивості можна легко регулювати розмір та кількість колонок у вашому дизайні, що робить її потужним інструментом для створення привабливих та функціональних веб-сторінок.

автор: Bond

Порада

Комбінуйте element.style.columns з анімаціями для створення плавних переходів між різною кількістю колонок. Це може зробити ваш макет більш інтерактивним та привабливим. Використовуйте CSS для анімацій:

element.style.transition = "all 0.5s ease";

А потім змінюйте колонки за допомогою JavaScript:

element.addEventListener('mouseover', () => {
    element.style.columns = "3 150px";
});
element.addEventListener('mouseout', () => {
    element.style.columns = "2 200px";
});
автор: Bond
Порада

Використовуйте element.style.columns для налаштування оптимального розміру колонок, виходячи з контенту. Наприклад, якщо у вас є текст різної довжини, можна задавати конкретну ширину колонок, щоб забезпечити зручне читання.

element.style.columns = "auto 250px";
автор: Bond
Порада

Застосовуйте element.style.columns разом з медіа-запитами для гнучкого налаштування макету. Це дозволяє адаптувати кількість і ширину колонок до різних розмірів екранів без додаткового JavaScript.

@media (max-width: 600px) {
    element.style.columns = "1";
}
@media (min-width: 601px) {
    element.style.columns = "3 200px";
}
автор: Bond

Синтаксис

element.style.columns

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
50 52 9 11.1 12 10
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
50 50 52 9

Приклади

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

У цьому прикладі колонки автоматично пристосовуються: якщо ширина вікна менше 768px, контент розподіляється на одну колонку, інакше - на три. Це дозволяє підтримувати зручну читабельність на різних пристроях та екранах.

HTML

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

JS

let element = document.getElementById('content');

window.addEventListener('resize', function() {
  if (window.innerWidth < 768) {
    element.style.columnCount = 1;
  } else {
    element.style.columnCount = 3;
  }
});
автор: Bond

У цьому прикладі текст розділяється на дві колонки з відстанню між ними 30px та пунктирною лінією розділювача. Це додає візуальну цікавість та структуру до контенту, поліпшуючи його оформлення.

HTML

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

JS

let paragraph = document.getElementById('myParagraph');

paragraph.style.columns = '2';
paragraph.style.columnGap = '30px';
paragraph.style.columnRule = '2px dashed #333';
автор: Bond

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

HTML

<header>
  <h2 class="title">element.style.columns</h2>
  <p class="description">Визначає кількість колонок для розподілу контенту.</p>
</header>
<main>
  <div class="result">
    <form id="columnForm">
      <label for="columnSelect">Виберіть кількість колонок:</label>
      <select id="columnSelect">
        <option value="1">1 колонка</option>
        <option value="2">2 колонки</option>
        <option value="3">3 колонки</option>
        <option value="4">4 колонки</option>
        <option value="5">5 колонок</option>
      </select>
    </form>
    <div id="content">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus imperdiet, nulla et dictum interdum, nisi lorem egestas odio, vitae scelerisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa.
    </div>
  </div>
</main>

CSS

body {
  font-size: 16px;
  line-height: 1.5;
  font-family: monospace;
}

header {
  background-color: #f1f1f1;
  margin-bottom: 25px;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

header h2.title {
  padding-bottom: 15px;
  border-bottom: 1px solid #999;
}

header p.description {
  font-style: italic;
  color: #222;
}

.result {
  background-color: #f8f8f8;
  padding: 15px;
  -webkit-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  -moz-box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
  box-shadow: 0px 0px 3px 0px rgba(118, 118, 118, 1);
}

JS

let columnForm = document.getElementById('columnForm');
let content = document.getElementById('content');

columnForm.addEventListener('change', function () {
  let selectedColumns = document.getElementById('columnSelect').value;
  content.style.columns = selectedColumns;
});
//# sourceURL=pen.js
автор: Bond

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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