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


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

backfaceVisibility – це CSS-властивість, яка контролює, чи буде видимою задня сторона елемента, коли той обертається в просторі.

Коли ми використовуємо CSS для створення тривимірних (3D) трансформацій елементів, може виникнути ситуація, коли елемент повертається таким чином, що його задня сторона стає видимою користувачу. Властивість backfaceVisibility дозволяє вам контролювати, чи буде ця задня сторона відображатися чи ні.

Основні значення, які можна задати цій властивості:

  • "visible" – задня сторона елемента буде видимою, навіть якщо він повернений обличчям назад.
  • "hidden" – задня сторона елемента не буде видимою, коли він повернений обличчям назад.

Зазвичай, цю властивість використовують разом із CSS-трансформаціями, наприклад, rotateY, rotateX, щоб створювати ефекти повороту елементів на веб-сторінці.

Ось як можна використовувати element.style.backfaceVisibility в JavaScript:

// Знаходимо елемент на сторінці
let element = document.getElementById("myElement");

// Застосовуємо тривимірну трансформацію та налаштовуємо видимість задньої сторони
element.style.transform = "rotateY(180deg)";
element.style.backfaceVisibility = "hidden";

У цьому прикладі елемент обертається на 180 градусів по осі Y, а його задня сторона стає невидимою завдяки властивості backfaceVisibility, встановленій у значення "hidden".

Використання backfaceVisibility особливо корисне при створенні анімацій карток, що перевертаються, де вам потрібно приховати вміст задньої сторони під час обертання. Наприклад, при створенні ефекту "перевертання" картки, ви можете використовувати цю властивість, щоб зробити анімацію плавною та позбавленою небажаних візуальних артефактів.

Щоб перевірити, як працює ця властивість, ви можете змінювати значення backfaceVisibility між "visible" і "hidden", спостерігаючи, як змінюється поведінка елемента при обертанні.

Хоча ця властивість часто використовується в CSS, JavaScript дозволяє динамічно змінювати її значення в залежності від логіки вашого застосунку, забезпечуючи тим самим більш інтерактивний досвід для користувачів.

Підсумовуючи, element.style.backfaceVisibility дає можливість контролювати, чи буде відображатися задня сторона елемента під час тривимірної трансформації, що є важливим для створення професійних та акуратних інтерфейсів.

автор: Bond

Порада

Завжди перевіряйте сумісність із браузерами, оскільки не всі версії браузерів однаково підтримують властивості, пов'язані з 3D-трансформаціями. Хоча сучасні браузери зазвичай підтримують backfaceVisibility, варто протестувати вашу анімацію в декількох браузерах і на різних пристроях, щоб упевнитися, що поведінка властивості відповідає вашим очікуванням.

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

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

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

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

автор: Bond

Синтаксис

element.style.backfaceVisibility

Переглядачі

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

Приклади

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

У цьому прикладі показано, як можна динамічно перевертати картку на сторінці за допомогою подвійного натискання (dblclick). Коли картка перевертається на 180 градусів, властивість backfaceVisibility встановлюється на "hidden", щоб приховати задню сторону картки, що забезпечує більш плавний і приємний для користувача візуальний ефект.

HTML

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

JS

let card = document.getElementById("card");
let isFlipped = false;

card.addEventListener("dblclick", function() {
    if (isFlipped) {
        card.style.transform = "rotateY(0deg)";
        card.style.backfaceVisibility = "hidden";
    } else {
        card.style.transform = "rotateY(180deg)";
        card.style.backfaceVisibility = "hidden";
    }
    isFlipped = !isFlipped;
});
автор: Bond

Цей приклад демонструє, як можна створити автоматичне переключення між різними блоками контенту кожні три секунди. Використовуючи обертання по осі X і змінюючи backfaceVisibility, ми можемо показувати або приховувати задню сторону елемента, створюючи ефект перевертання між двома різними сторінками або частинами контенту в одному і тому ж контейнері. Це корисно для створення інтерактивних презентацій або каруселей контенту.

HTML

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

JS

let container = document.getElementById("container");
let isFrontVisible = true;

function switchContent() {
    if (isFrontVisible) {
        container.style.transform = "rotateX(180deg)";
        container.style.backfaceVisibility = "hidden";
    } else {
        container.style.transform = "rotateX(0deg)";
        container.style.backfaceVisibility = "visible";
    }
    isFrontVisible = !isFrontVisible;
}

setInterval(switchContent, 3000);
автор: Bond

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

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

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

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