Картинка фоном

Щоб встановити картинку фоном для HTML-сторінки за допомогою HTML і CSS, потрібно використовувати CSS для стилізації фону. Ось приклад коду:

<!DOCTYPE html>
<html lang="uk">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Фон з картинки</title>
    <style>
        body {
            /* Встановлюємо фон */
            background-image: url('img/bckgrnd.jpg');
            /* Фон буде займати весь екран */
            background-size: cover;
            /* Фон буде зафіксований при скролінгу */
            background-attachment: fixed;
            /* Центрування фону */
            background-position: center;
            /* Не повторювати фон */
            background-repeat: no-repeat;
            /* Встановлюємо висоту на 100% */
            height: 100vh;
            margin: 0;
        }
    </style>
</head>
<body>
    <h1>Привіт, світ!</h1>
</body>
</html>

Пояснення:

  • background-image: вказує шлях до зображення, яке буде використовуватися як фон.

  • background-size: cover: зображення адаптується, щоб повністю заповнити екран.

  • background-attachment: fixed: робить фон статичним, щоб при прокручуванні сторінки він залишався на місці.

  • background-position: center: центрує зображення.

  • background-repeat: no-repeat: вимикає повторення зображення.

  • height: 100vh: висота тіла сторінки встановлюється на 100% висоти видимої частини екрану.

background-attachment визначає, чи буде фон залишатися зафіксованим при прокручуванні сторінки або рухатися разом із вмістом.

Є два основні значення для цієї властивості:

  1. background-attachment: fixed; — фон буде зафіксованим і не рухатиметься під час скролінгу сторінки. Зображення залишається на місці, незалежно від того, наскільки вниз прокручується контент.

  2. background-attachment: scroll; (значення за замовчуванням) — фон рухається разом із вмістом сторінки. Під час прокручування зображення фону також буде рухатися.

Наприклад:

body {
    background-image: url('img/bckgrnd.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
    /* Приклад рухомого фону */
    background-attachment: scroll; /* або просто можна не вказувати це */
}

Тому, якщо ти хочеш, щоб фон рухався разом із прокруткою сторінки, використовуй background-attachment: scroll або просто пропусти цю властивість, оскільки це стандартна поведінка.

В CSS властивість background-repeat контролює, як зображення фону буде повторюватися по горизонталі та вертикалі. Ось доступні опції:

Основні значення:

  1. repeat (значення за замовчуванням):

    • Зображення повторюється як по горизонталі, так і по вертикалі.

    background-repeat: repeat;
  2. no-repeat:

    • Зображення не повторюється ні по горизонталі, ні по вертикалі. Воно з'явиться один раз.

    background-repeat: no-repeat;
  3. repeat-x:

    • Зображення повторюється тільки по горизонталі (вправо і вліво), але не по вертикалі.

    background-repeat: repeat-x;
  4. repeat-y:

    • Зображення повторюється тільки по вертикалі (вгору і вниз), але не по горизонталі.

    background-repeat: repeat-y;

Більш детальні опції:

  1. space:

    • Зображення повторюється, але між кожною копією додається простір (якщо простір не заповнюється повністю рівними копіями). Зображення розташовуються без обрізання.

    background-repeat: space;
  2. round:

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

    background-repeat: round;

Можливість комбінування:

Також можна вказати різні значення для повторення по горизонталі та вертикалі одночасно.

  • Перше значення — по горизонталі, друге — по вертикалі.

background-repeat: repeat no-repeat;

Це означає, що фон буде повторюватись по горизонталі, але не по вертикалі.

Приклад у HTML:

<!DOCTYPE html>
<html lang="uk">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Repeat Background</title>
    <style>
        body {
            background-image: url('img/bckgrnd.jpg');
            background-repeat: repeat-x; /* Повторення тільки по горизонталі */
        }
    </style>
</head>
<body>
    <h1>Привіт, світ!</h1>
</body>
</html>

Last updated