Минималистичный cookie-баннер на чистом HTML, CSS и JavaScript для Webasyst

Если вам нужен простой и аккуратный баннер для уведомления о файлах cookies — его можно сделать всего в одном HTML-файле, без сторонних библиотек.

Баннер появится внизу страницы, пока пользователь не примет условия. После нажатия «OK» он исчезнет и больше не будет показываться.


Полный пример (один HTML-файл)

Скопируйте этот код и вставьте в свой проект — он будет работать сразу.


<style>
    .cookie-banner {
      position: fixed;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      background: #fff;
      color: #000;
      border-radius: 12px;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
      padding: 16px 28px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 20px;
      font-size: 14px;
      z-index: 9999;
      transition: opacity 0.3s ease, transform 0.3s ease;
      max-width: 90%;
      width: fit-content;
    }

    .cookie-banner__inner {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 16px;
      text-align: center;
    }

    .cookie-banner a {
      color: #000;
      text-decoration: underline;
    }

    .cookie-banner__btn {
      background: #f5f5f5;
      border: none;
      border-radius: 8px;
      padding: 8px 20px;
      cursor: pointer;
      font-weight: 500;
      transition: background 0.2s;
    }

    .cookie-banner__btn:hover {
      background: #e8e8e8;
    }

    .cookie-banner.hidden {
      opacity: 0;
      pointer-events: none;
      transform: translate(-50%, 20px);
    }
  </style>

  <div class="cookie-banner hidden" id="cookie-banner">
    <div class="cookie-banner__inner">
      <p>Мы используем <a href="#">файлы cookies</a>, чтобы улучшить качество услуг.</p>
      <button class="cookie-banner__btn" id="cookie-ok">OK</button>
    </div>
  </div>

  <script>
    document.addEventListener('DOMContentLoaded', () => {
      const banner = document.getElementById('cookie-banner');
      const okBtn = document.getElementById('cookie-ok');

      if (!localStorage.getItem('cookieAccepted')) {
        banner.classList.remove('hidden');
      }

      okBtn.addEventListener('click', () => {
        localStorage.setItem('cookieAccepted', 'true');
        banner.classList.add('hidden');
      });
    });
  </script>

    
Смотрите также