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


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

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

Щоб використовувати element.style.outlineOffset, спочатку потрібно отримати доступ до HTML-елемента через DOM. Ви можете зробити це за допомогою методів document.getElementById, document.querySelector або інших подібних методів. Після цього ви можете встановити значення властивості outlineOffset у пікселях, емсах або інших допустимих одиницях виміру.

Наприклад, припустимо, що у нас є елемент з ID myElement, до якого ми хочемо застосувати відступ контуру:

let element = document.getElementById('myElement');
element.style.outline = '2px solid red';
element.style.outlineOffset = '10px';

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

Властивість outlineOffset підтримує позитивні та негативні значення. Позитивні значення збільшують відстань між контуром і межами елемента, тоді як негативні значення зменшують цю відстань, що може навіть призвести до накладення контуру на сам елемент:

// Відступ контуру на 5 пікселів всередину
element.style.outlineOffset = '-5px';

Такий підхід може використовуватись для створення цікавих візуальних ефектів, коли контур виглядає частково всередині та частково зовні елемента.

Також варто зазначити, що outlineOffset працює з іншими властивостями стилю, такими як outlineColor, outlineStyle, і outlineWidth, що дозволяє створювати різноманітні ефекти контурів. Наприклад:

element.style.outline = '3px dashed blue';
element.style.outlineOffset = '15px';

Це створить контур синього кольору з пунктиром навколо елемента, відступлений на 15 пікселів.

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

Узагалі, element.style.outlineOffset надає простий, але ефективний спосіб маніпулювання відстанню контуру, допомагаючи створювати візуально привабливі і функціональні веб-дизайни.

автор: Bond

Порада

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

let input = document.querySelector('input');
input.addEventListener('focus', function() {
    input.style.outlineOffset = '8px';
});
input.addEventListener('blur', function() {
    input.style.outlineOffset = '0px';
});
автор: Bond
Порада

Використовуйте outlineOffset разом з іншими властивостями стилю для створення складних декоративних рамок. Це дозволить вам експериментувати з дизайном і створювати більш оригінальні та привабливі інтерфейси. Наприклад:

let element = document.getElementById('decorativeBox');
element.style.outline = '3px dotted green';
element.style.outlineOffset = '5px';
element.style.border = '2px solid black';
автор: Bond
Порада

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

#myElement {
    transition: outline-offset 0.3s ease;
}
автор: Bond

Синтаксис

element.style.outlineOffset

Переглядачі

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

Приклади

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

У цьому прикладі показано, як змінити відступ рамки для візуалізації вибраного елемента у списку. При натисканні на будь-який елемент списку, навколо нього з'являється зелена рамка з відступом у 3 пікселі, що дозволяє користувачам легко ідентифікувати поточний вибір у списку.

HTML

<div class="list-item">перший елемент list-item</div>
<div class="list-item">другий елемент list-item</div>

JS

const items = document.querySelectorAll('.list-item');

items.forEach(item => {
    item.addEventListener('click', () => {
        items.forEach(i => {
            i.style.outline = 'none';
            i.style.outlineOffset = '0';
        });
        item.style.outline = '2px solid green';
        item.style.outlineOffset = '3px';
    });
});
автор: Bond

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

HTML

<div class="hover-effect">перший елемент hover-effect</div>
<div class="hover-effect">другий елемент hover-effect</div>

JS

const elements = document.querySelectorAll('.hover-effect');

elements.forEach(element => {
    element.addEventListener('mouseenter', () => {
        element.style.outline = '2px solid blue';
        element.style.outlineOffset = '5px';
    });

    element.addEventListener('mouseleave', () => {
        element.style.outline = 'none';
    });
});
автор: Bond

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

автор: 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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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