CSS element() — елемент сторінки як фон


Опис

автор: Bond

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

автор: NagarD

Порада

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

автор: Bond
Нотатка

На деяких браузерах Gecko можна використовувати нестандартний метод document.mozSetImageElement() для зміни елемента, який використовується як фон для заданого CSS елемента з фоном.

автор: Bond
Нотатка

Значення можуть бути будь-якими елементами HTML з можливими стилізаціями та властивостями.

автор: Bond

Синтаксис

element(<id>);

Функція element може отримувати єдине значення:

<id>

Ідентифікатор HTML елемента, що використовується як фонове зображення.

автор: Bond

Значення без задання: none

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Mozilla Firefox
60
Підтримка: мобільні переглядачі
Переглядач Mobile Mozilla Firefox
60

Приклади

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

Використання функції element() для створення фону.

HTML

<div id="description">
  <h2>Приклад</h2>
  <p>Використання функції <code>element()</code> для створення фону</p>
</div>

<div id="result">
  <div class="box">
    <p>Цей блок використовує елемент з ідентифікатором #myBackground1 як фон!</p>
  </div>
</div>

<div style="overflow:hidden; height:0;">
  <div id="myBackground1" class="background">
    <p class="rotated-text">
      Цей текст є частиною фону
    </p>
  </div>
</div>

CSS

#description {
  font-style: italic;
  text-align: left;
  line-height: 1.5;
  margin-bottom: 50px;
  padding: 12px 16px;
  background-color: #f7f7f7;
  border: 1px solid #ccc;
}

#result {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
}

.box {
  padding: 5px;
  width: 200px;
  height: 200px;
  background: -moz-element(#myBackground1) no-repeat;
}

.background {
  width: 1024px;
  height: 1024px;
  background-image: linear-gradient(to right, red, orange, yellow, white);
}

.rotated-text {
  transform-origin: 0 0;
  transform: rotate(45deg);
  color: white;
}
автор: Bond

Ліворуч — джерело, звичайний блок із градієнтом і текстом. Праворуч — три відображення через -moz-element(#dzherelo): розтягнуте на всю коробку, плиткою й у зменшеному масштабі. Останнє відображення дивиться на джерело зі display: none — і лишається порожнім. ⚠️ У браузерах, крім Firefox, усі чотири коробки будуть порожні: безпрефіксного element() не існує.

HTML

<div class="stage">
    <figure>
        <div id="dzherelo" class="src">ЖИВЕ ДЖЕРЕЛО</div>
        <figcaption>джерело — звичайний блок із id</figcaption>
    </figure>

    <figure>
        <div class="mirror fill"></div>
        <figcaption>background-size: 100% 100%</figcaption>
    </figure>

    <figure>
        <div class="mirror tile"></div>
        <figcaption>плиткою, background-size: 60px 30px</figcaption>
    </figure>

    <figure>
        <div class="mirror hidden-src"></div>
        <figcaption>джерело з display: none — порожньо</figcaption>
    </figure>
</div>

<div id="prykhovane" class="offscreen">СХОВАНЕ ЗА ЕКРАНОМ</div>
<div id="nemaie" class="none">не малюється</div>

<figure class="wide">
    <div class="mirror offscreen-mirror"></div>
    <figcaption>а це джерело винесено за екран через position: fixed;
        left: -200vw — воно малюється, тож дзеркало працює</figcaption>
</figure>

CSS

.stage {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

figure {
    margin: 0;
    width: 180px;
}

figcaption {
    margin-top: 6px;
    color: #5a6472;
    font: 12px/1.35 ui-monospace, monospace;
}

.src {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 90px;
    background: linear-gradient(135deg, #f2b134, #2f6fd0);
    color: #fff;
    font: 700 14px/1 system-ui, sans-serif;
}

.mirror {
    width: 180px;
    height: 90px;
    border: 2px dashed #b9c6d8;
    background-repeat: no-repeat;
}

.fill {
    background-image: -moz-element(#dzherelo);
    background-size: 100% 100%;
}

.tile {
    background-image: -moz-element(#dzherelo);
    background-size: 60px 30px;
    background-repeat: repeat;
}

.hidden-src {
    background-image: -moz-element(#nemaie);
    background-size: 100% 100%;
}

.offscreen-mirror {
    background-image: -moz-element(#prykhovane);
    background-size: 100% 100%;
}

.offscreen {
    position: fixed;
    left: -200vw;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 90px;
    background: linear-gradient(135deg, #3a9a4f, #1b4f9c);
    color: #fff;
    font: 700 14px/1 system-ui, sans-serif;
}

.none {
    display: none;
    width: 180px;
    height: 90px;
    background: #c0392b;
}

.wide {
    width: 380px;
    margin-top: 18px;
}
автор: NagarD

Коментарі

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

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

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[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`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

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

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