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


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

element.style.clear - це властивість CSS, яка встановлює або змінює поведінку елемента щодо очищення плаваючих елементів навколо нього. Властивість clear зазвичай використовується для того, щоб уникнути обтікання плаваючих елементів (які використовують властивість float), що може порушити макет сторінки.

Значення властивості clear можуть бути наступними: none, left, right, both, а також inherit та initial. Кожне з цих значень має своє застосування. Значення none (за замовчуванням) означає, що елемент не буде очищати плаваючі елементи і вони можуть обтікати його з обох сторін. Значення left очищає плаваючі елементи зліва від елемента, значення right - справа, а значення both очищає плаваючі елементи з обох сторін.

Ось приклад, як встановити очищення плаваючих елементів з обох сторін для конкретного елемента:

let element = document.getElementById('myElement');
element.style.clear = 'both';

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

Корисність властивості clear проявляється в складних макетах, де плаваючі елементи використовуються для розташування блоків на сторінці. Наприклад, можна використовувати плаваючі елементи для створення колонок, а потім використовувати властивість clear, щоб розташувати наступний елемент під цими колонками:

let column1 = document.getElementById('column1');
let column2 = document.getElementById('column2');
let footer = document.getElementById('footer');

column1.style.float = 'left';
column2.style.float = 'left';
footer.style.clear = 'both';

У цьому прикладі footer буде розташований під обома колонками, оскільки він очищає плаваючі елементи з обох сторін.

Ще один важливий аспект використання clear - це забезпечення правильного відображення елементів, що можуть накладатися один на одного через використання float. Наприклад, якщо у вас є плаваючий елемент всередині контейнера, і ви хочете, щоб наступний елемент не перекривався плаваючим елементом, ви можете використати clear:

let floatingElement = document.getElementById('floatingElement');
let nonFloatingElement = document.getElementById('nonFloatingElement');

floatingElement.style.float = 'left';
nonFloatingElement.style.clear = 'left';

У цьому прикладі nonFloatingElement буде відображатися під floatingElement, а не обтікати його з правого боку.

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

автор: Bond

Порада

Іноді буває корисно встановити element.style.clear за допомогою JavaScript в залежності від умов, що змінюються динамічно. Наприклад, можна змінювати поведінку очищення в залежності від кількості дитячих елементів у контейнері або їх розміру. Це дозволяє створювати гнучкіші та динамічніші інтерфейси:

let dynamicElement = document.getElementById('dynamicElement');
if (dynamicElement.children.length > 3) {
  dynamicElement.style.clear = 'both';
}

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

При створенні макетів з плаваючими елементами, спробуйте використовувати clear на псевдоелементах ::after або ::before для автоматичного очищення плаваючих елементів всередині контейнера. Це дозволяє уникнути додавання додаткових чистих елементів у HTML-код і зберегти його чистоту. Наприклад:

let container = document.getElementById('container');
container.style.cssText = "::after { content: ''; display: block; clear: both; }";

автор: Bond

Синтаксис

element.style.clear

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
1 1 1 3.5 12 4
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4.4 18 4 1

Приклади

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

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

HTML

<div id="container">Демонстраційний елемент</div>
<button id="toggleButton">Перемкнути</button>

JS

let container = document.getElementById('container');
let toggleButton = document.getElementById('toggleButton');

toggleButton.addEventListener('click', function() {
  let newElement = document.createElement('div');
  newElement.style.float = 'left';
  newElement.style.width = '100px';
  newElement.style.height = '100px';
  newElement.style.backgroundColor = 'blue';
  container.appendChild(newElement);

  let clearElement = document.createElement('div');
  clearElement.style.clear = 'both';
  container.appendChild(clearElement);
});
автор: Bond

У цьому прикладі використовується ResizeObserver для спостереження за зміною розміру контейнера. Якщо ширина контейнера менша за 500 пікселів, елемент з ідентифікатором clearElement очищає плаваючі елементи з обох сторін, щоб забезпечити коректне відображення на вузьких екранах. Це корисно для створення адаптивних веб-дизайнів, які автоматично підлаштовуються під різні розміри екранів, забезпечуючи зручність користування.

HTML

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

JS

let resizeObserver = new ResizeObserver(entries => {
  entries.forEach(entry => {
    let containerWidth = entry.contentRect.width;
    let clearElement = document.getElementById('clearElement');

    if (containerWidth < 500) {
      clearElement.style.clear = 'both';
    } else {
      clearElement.style.clear = 'none';
    }
  });
});

let container = document.getElementById('responsiveContainer');
resizeObserver.observe(container);
автор: Bond

Цей код створює три елементи на сторінці. Два з них плавають ліворуч і праворуч відповідно, а третій – clearableBox – знаходиться між ними. За допомогою кнопки користувач може перемикати властивість clear між значеннями "both" (очищення обтікання з обох сторін) і "none" (без очищення), що демонструє вплив цієї властивості на розташування елемента.

автор: Bond

Коментарі

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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