click me mf
сплаттерпанк | 21+

#барсук

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » #барсук » К администрации » Генератор четырех картинок в подпись/тему


Генератор четырех картинок в подпись/тему

Сообщений 1 страница 7 из 7

1

Технические моменты

  • Здесь можно баловаться с генератором и создавать все, что твоей душе угодно

  • У генератора нет предварительного просмотра, поэтому результат можно увидеть либо отправив код, который у тебя вышел, либо нажав кнопку посмотреть

  • Как пользоваться генератором? Ты заполняешь пункты в генераторе, затем нажимаешь сгенерировать код, после этого нажимаешь копировать. Затем вставляешь этот код в свое сообщение/подпись в своем профиле. После нажимаешь ctrl + a (английскую) или правой кнопку мыши, а затем выбираешь пункт выделить все. Должно получится так, что у тебя все вставленное тобой сообщение выделено. Затем нажимаешь стрелочку рядом с голодным дайсом и выбираешь пункт HTML в сообщениях. Весь сгенерированный код должен по итогу оказаться в bb-тегах [.htm]сгенерированный код[/.html]. Затем нажимаешь отправить.

[html]

<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Генератор галереи 4 картинки</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }
        body {
            background: #2a2420;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            padding: 30px 20px;
            font-family: 'Raleway', sans-serif;
        }
        .generator-wrapper {
            max-width: 860px;
            width: 100%;
            background: #e8ddce;
            padding: 30px 35px 35px;
            border: 8px solid #c4b09a;
            border-radius: 12px;
        }
        .generator-wrapper h1 {
            font-family: 'Special Elite', monospace;
            color: #363636;
            font-size: 2rem;
            margin-bottom: 4px;
            letter-spacing: 2px;
            font-weight: 700;
        }
        .generator-wrapper .subtitle {
            color: #7a6854;
            font-size: 1rem;
            margin-bottom: 22px;
            font-weight: 500;
            border-bottom: 2px solid #c4b09a;
            padding-bottom: 14px;
            opacity: 0.8;
        }
        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 12px 18px;
        }
        .form-group {
            display: flex;
            flex-direction: column;
            gap: 3px;
        }
        .form-group label {
            font-size: 0.85rem;
            font-weight: 700;
            color: #5a4a3a;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .form-group input,
        .form-group select {
            padding: 8px 12px;
            border: 2px solid #c4b09a;
            border-radius: 6px;
            font-family: 'Raleway', sans-serif;
            font-size: 0.95rem;
            background: #f5ede4;
            color: #363636;
            transition: border 0.2s;
            width: 100%;
            box-sizing: border-box;
        }
        .form-group input:focus,
        .form-group select:focus {
            outline: none;
            border-color: #8b6b4a;
        }
        .form-group select option {
            background: #f5ede4;
            color: #363636;
            font-size: 0.95rem;
            padding: 4px 8px;
        }
       
        .buttons-row {
            display: flex;
            gap: 14px;
            margin: 20px 0 16px;
            flex-wrap: wrap;
        }
        .buttons-row button {
            padding: 12px 32px;
            border: none;
            border-radius: 8px;
            font-family: 'Raleway', sans-serif;
            font-weight: 700;
            font-size: 1rem;
            cursor: pointer;
            transition: all 0.25s;
            letter-spacing: 0.5px;
        }
        .btn-generate {
            background: #5a4a3a;
            color: #f5ede4;
        }
        .btn-generate:hover {
            background: #3a322a;
            transform: scale(1.02);
        }
        .btn-copy {
            background: #7a5f47;
            color: #f5ede4;
        }
        .btn-copy:hover {
            background: #5a4a3a;
            transform: scale(1.02);
        }
        .btn-reset {
            background: #c4b09a;
            color: #363636;
        }
        .btn-reset:hover {
            background: #b09a82;
            transform: scale(1.02);
        }
       
        .output-area {
            margin-top: 12px;
        }
        .output-area label {
            font-size: 0.85rem;
            font-weight: 700;
            color: #5a4a3a;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            display: block;
            margin-bottom: 6px;
        }
        .output-area textarea {
            width: 100%;
            min-width: 100%;
            max-width: 100%;
            min-height: 220px;
            max-height: 400px;
            padding: 12px 14px;
            border: 2px solid #c4b09a;
            border-radius: 6px;
            font-family: 'Courier New', monospace;
            font-size: 0.75rem;
            background: #f5ede4;
            color: #363636;
            resize: vertical;
            line-height: 1.4;
            box-sizing: border-box;
        }
        .output-area textarea:focus {
            outline: none;
            border-color: #8b6b4a;
        }
       
        /* ===== НАСТРОЙКИ ===== */
        .style-controls {
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            gap: 12px 16px;
            margin-top: 16px;
            padding: 16px 18px;
            background: rgba(210, 190, 170, 0.25);
            border-radius: 8px;
            border: 2px solid #c4b09a;
        }
        .style-controls .form-group label {
            font-size: 0.75rem;
        }
        .style-controls .form-group select {
            font-size: 0.95rem;
            padding: 8px 10px;
        }
        .style-controls .form-group select option {
            font-size: 0.95rem;
            padding: 6px 8px;
        }
       
        .toast {
            position: fixed;
            bottom: 30px;
            left: 50%;
            transform: translateX(-50%) translateY(100px);
            background: #3a322a;
            color: #f5ede4;
            padding: 14px 32px;
            border-radius: 10px;
            font-family: 'Raleway', sans-serif;
            font-weight: 600;
            font-size: 0.95rem;
            opacity: 0;
            transition: all 0.4s ease;
            pointer-events: none;
            z-index: 9999;
            box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4);
        }
        .toast.show {
            opacity: 1;
            transform: translateX(-50%) translateY(0);
        }

        @media screen and (max-width: 700px) {
            .generator-wrapper {
                padding: 18px 14px;
                border-width: 6px;
            }
            .generator-wrapper h1 {
                font-size: 1.5rem;
            }
            .form-grid {
                grid-template-columns: 1fr;
                gap: 8px 0;
            }
            .style-controls {
                grid-template-columns: 1fr 1fr;
                padding: 12px 14px;
            }
            .buttons-row button {
                padding: 10px 22px;
                font-size: 0.85rem;
                flex: 1;
                min-width: 80px;
            }
            .output-area textarea {
                min-height: 160px;
                max-height: 300px;
                font-size: 0.65rem;
            }
            .form-group select option {
                font-size: 0.85rem;
            }
            .style-controls .form-group select option {
                font-size: 0.85rem;
            }
        }
        @media screen and (max-width: 400px) {
            .style-controls {
                grid-template-columns: 1fr;
            }
            .generator-wrapper {
                padding: 12px 10px;
                border-width: 4px;
            }
            .generator-wrapper h1 {
                font-size: 1.2rem;
            }
        }
    </style>
</head>
<body>

    <div class="generator-wrapper">
        <h1>🖼 Генератор галереи</h1>
        <p class="subtitle">4 картинки 110×110 px, расстояние 5px — все эффекты применяются одновременно</p>

        <form id="galleryForm" onsubmit="return false;">
            <div class="form-grid">
                <div class="form-group">
                    <label>Картинка 1</label>
                    <input type="text" id="img1" value="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg">
                </div>
                <div class="form-group">
                    <label>Картинка 2</label>
                    <input type="text" id="img2" value="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg">
                </div>
                <div class="form-group">
                    <label>Картинка 3</label>
                    <input type="text" id="img3" value="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg">
                </div>
                <div class="form-group">
                    <label>Картинка 4</label>
                    <input type="text" id="img4" value="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg">
                </div>
            </div>

            <!-- ===== НАСТРОЙКА СТИЛЕЙ ===== -->
            <div class="style-controls">
                <div class="form-group">
                    <label>Стиль рамки</label>
                    <select id="frameStyle">
                        <option value="none">Без рамки</option>
                        <option value="frame-vintage">Винтажная</option>
                        <option value="frame-modern">Современная</option>
                        <option value="frame-polaroid">Полароид</option>
                        <option value="frame-rough">Грубая (скетч)</option>
                        <option value="frame-double">Двойная рамка</option>
                        <option value="frame-shadow">Теневая</option>
                        <option value="frame-gold">Золотая</option>
                        <option value="frame-wood">Деревянная</option>
                        <option value="frame-brick">Кирпичная</option>
                        <option value="frame-neon">Неоновая</option>
                        <option value="frame-film">Киноплёнка</option>
                        <option value="frame-grunge">Гранж</option>
                        <option value="frame-ornament">Орнамент</option>
                        <option value="frame-marble">Мраморная</option>
                        <option value="frame-velvet">Бархатная</option>
                        <option value="frame-steel">Стальная</option>
                        <option value="frame-copper">Медная</option>
                        <option value="frame-bamboo">Бамбуковая</option>
                        <option value="frame-ivory">Слоновая кость</option>
                        <option value="frame-obsidian">Обсидиан</option>
                        <option value="frame-rust">Ржавая</option>
                        <option value="frame-pearl">Жемчужная</option>
                        <option value="frame-amber">Янтарная</option>
                        <option value="frame-jade">Нефритовая</option>
                        <option value="frame-crystal">Хрустальная</option>
                        <option value="frame-charcoal">Угольная</option>
                        <option value="frame-rose">Розовое золото</option>
                        <option value="frame-titanium">Титан</option>
                        <option value="frame-carbon">Карбон</option>
                    </select>
                </div>
                <div class="form-group">
                    <label>Эффект поверх</label>
                    <select id="imgEffect">
                        <option value="none">Без эффекта</option>
                        <option value="grayscale">Ч/Б (grayscale)</option>
                        <option value="sepia">Сепия</option>
                        <option value="blur">Размытие</option>
                        <option value="bright">Ярче</option>
                        <option value="dark">Темнее</option>
                        <option value="vignette">Виньетка</option>
                        <option value="polaroid">Полароид</option>
                        <option value="invert">Инверсия</option>
                        <option value="pixelate">Пикселизация</option>
                        <option value="neon">Неоновое свечение</option>
                        <option value="hue">Сдвиг цвета</option>
                        <option value="film">Киноплёнка</option>
                        <option value="contrast">Контраст</option>
                        <option value="saturate">Насыщенность</option>
                        <option value="dreamy">Мечтательный</option>
                        <option value="noisy">Шум</option>
                        <option value="posterize">Постеризация</option>
                        <option value="emboss">Рельеф</option>
                        <option value="frost">Иней</option>
                        <option value="vaporwave">Вейпорвейв</option>
                        <option value="retro">Ретро</option>
                        <option value="cold">Холодный</option>
                        <option value="warm">Тёплый</option>
                        <option value="matrix">Матрица</option>
                        <option value="synthwave">Синтвейв</option>
                        <option value="sketch">Набросок</option>
                        <option value="watermark">Водяной знак</option>
                        <option value="hdr">HDR</option>
                        <option value="soft">Мягкий</option>
                    </select>
                </div>
                <div class="form-group">
                    <label>Дополнительно</label>
                    <select id="imgExtra">
                        <option value="none">Без доп. эффектов</option>
                        <option value="rounded">Скруглённые углы</option>
                        <option value="shadow">Тень</option>
                        <option value="glow">Свечение</option>
                        <option value="rounded-shadow">Скругление + тень</option>
                        <option value="rainbow">Радужная рамка</option>
                        <option value="glitch">Глитч</option>
                        <option value="cracked">Треснутая</option>
                        <option value="scratched">Царапины</option>
                        <option value="watercolor">Акварель</option>
                        <option value="pulse">Пульсация</option>
                        <option value="rotate">Вращение</option>
                        <option value="shake">Тряска</option>
                        <option value="sparkle">Блёстки</option>
                        <option value="gradient">Градиент</option>
                        <option value="neon-glow">Неоновое сияние</option>
                        <option value="vintage-border">Винтажная окантовка</option>
                        <option value="mosaic">Мозаика</option>
                        <option value="filigree">Финифть</option>
                        <option value="damaged">Повреждённая</option>
                        <option value="painted">Роспись</option>
                        <option value="embroidery">Вышивка</option>
                        <option value="lace">Кружево</option>
                        <option value="woven">Плетение</option>
                        <option value="leather">Кожа</option>
                        <option value="denim">Деним</option>
                        <option value="velvet-texture">Бархатная текстура</option>
                        <option value="rust-texture">Ржавчина</option>
                        <option value="stone-texture">Камень</option>
                        <option value="sand-texture">Песок</option>
                    </select>
                </div>
            </div>
        </form>

        <div class="buttons-row">
            <button class="btn-generate" onclick="generateGallery()">⚡ Сгенерировать</button>
            <button class="btn-copy" onclick="copyCode()">📋 Копировать код</button>
            <button class="btn-reset" onclick="resetForm()">⟳ Сбросить</button>
        </div>

        <div class="output-area">
            <label>📄 Готовый HTML-код</label>
            <textarea id="outputCode" readonly></textarea>
        </div>
    </div>

    <div id="toast" class="toast">✅ Код скопирован!</div>

    <script>
        function generateGallery() {
            const img1 = document.getElementById('img1').value || '';
            const img2 = document.getElementById('img2').value || '';
            const img3 = document.getElementById('img3').value || '';
            const img4 = document.getElementById('img4').value || '';
            const frame = document.getElementById('frameStyle').value || 'none';
            const effect = document.getElementById('imgEffect').value || 'none';
            const extra = document.getElementById('imgExtra').value || 'none';

            const width = 110;
            const height = 110;
            const gap = 5;

            // ===== 30 СТИЛЕЙ РАМОК =====
            const frameStyles = {
                'none': 'border: none; border-radius: 0; box-shadow: none; background: transparent; padding: 0;',
                'frame-vintage': 'border: 3px solid #8a7a62; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.3); background: #d4c4b0; padding: 4px;',
                'frame-modern': 'border: 2px solid #c9b99a; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.25); background: #2a2420;',
                'frame-polaroid': 'border: 1px solid #b7a087; border-radius: 2px; box-shadow: 0 4px 12px rgba(0,0,0,0.2); background: #f5ede4; padding: 6px 6px 18px 6px; transform: rotate(var(--rot, 0deg));',
                'frame-rough': 'border: 3px solid #5a4a3a; border-radius: 0px; box-shadow: 3px 3px 0px #3a2a1a; background: #c4b09a; padding: 3px; clip-path: polygon(0% 0%, 95% 0%, 100% 5%, 100% 100%, 5% 100%, 0% 95%);',
                'frame-double': 'border: 4px double #8a7a62; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); background: #d4c4b0; padding: 5px;',
                'frame-shadow': 'border: 2px solid #8a7a62; border-radius: 6px; box-shadow: 0 8px 20px rgba(0,0,0,0.4), inset 0 0 10px rgba(0,0,0,0.05); background: #d4c4b0; padding: 4px;',
                'frame-gold': 'border: 3px solid #c9a84c; border-radius: 6px; box-shadow: 0 0 15px rgba(201, 168, 76, 0.3); background: #2a1f0a; padding: 4px;',
                'frame-wood': 'border: 4px solid #6b4a2a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.3); background: #8b6a4a; padding: 5px;',
                'frame-brick': 'border: 3px solid #6b3a2a; border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.3); background: #8b4a3a; padding: 4px;',
                'frame-neon': 'border: 2px solid #ff00ff; border-radius: 8px; box-shadow: 0 0 20px #ff00ff, 0 0 40px #ff00ff, inset 0 0 20px #ff00ff; background: #1a0a1a; padding: 4px;',
                'frame-film': 'border: 3px solid #1a1a1a; border-radius: 2px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); background: #2a2a2a; padding: 4px;',
                'frame-grunge': 'border: 3px solid #3a2a1a; border-radius: 4px; box-shadow: 2px 2px 0px #2a1a0a; background: #4a3a2a; padding: 4px; clip-path: polygon(0% 0%, 92% 0%, 100% 8%, 100% 100%, 8% 100%, 0% 92%);',
                'frame-ornament': 'border: 3px solid #8a7a62; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); background: #d4c4b0; padding: 6px;',
                'frame-marble': 'border: 3px solid #b0a090; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); background: #d0c8b8; padding: 5px;',
                'frame-velvet': 'border: 3px solid #6a1a4a; border-radius: 8px; box-shadow: 0 2px 12px rgba(106, 26, 74, 0.3); background: #2a0a1a; padding: 5px;',
                'frame-steel': 'border: 3px solid #6a7a8a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); background: #3a4a5a; padding: 4px;',
                'frame-copper': 'border: 3px solid #b87333; border-radius: 6px; box-shadow: 0 2px 12px rgba(184, 115, 51, 0.3); background: #2a1a0a; padding: 5px;',
                'frame-bamboo': 'border: 3px solid #5a7a3a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); background: #8aaa6a; padding: 5px;',
                'frame-ivory': 'border: 3px solid #f5ede4; border-radius: 8px; box-shadow: 0 2px 12px rgba(0,0,0,0.1); background: #faf5ee; padding: 5px;',
                'frame-obsidian': 'border: 3px solid #1a0a0a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.5); background: #0a0a0a; padding: 4px;',
                'frame-rust': 'border: 3px solid #8a4a2a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.3); background: #6a3a2a; padding: 4px;',
                'frame-pearl': 'border: 3px solid #e8ddd0; border-radius: 12px; box-shadow: 0 2px 12px rgba(0,0,0,0.1), inset 0 0 20px rgba(255,255,255,0.2); background: #f5ede4; padding: 5px;',
                'frame-amber': 'border: 3px solid #c9a040; border-radius: 6px; box-shadow: 0 2px 12px rgba(201, 160, 64, 0.3); background: #2a1f0a; padding: 5px;',
                'frame-jade': 'border: 3px solid #3a8a5a; border-radius: 6px; box-shadow: 0 2px 12px rgba(58, 138, 90, 0.3); background: #1a2a1a; padding: 5px;',
                'frame-crystal': 'border: 2px solid rgba(255,255,255,0.2); border-radius: 8px; box-shadow: 0 0 30px rgba(255,255,255,0.05); background: rgba(255,255,255,0.05); padding: 6px; backdrop-filter: blur(4px);',
                'frame-charcoal': 'border: 3px solid #3a3a3a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.3); background: #2a2a2a; padding: 4px;',
                'frame-rose': 'border: 3px solid #d4a0a0; border-radius: 8px; box-shadow: 0 2px 12px rgba(212, 160, 160, 0.3); background: #1a0a0a; padding: 5px;',
                'frame-titanium': 'border: 2px solid #8a9aaa; border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.2); background: #2a3a4a; padding: 4px;',
                'frame-carbon': 'border: 3px solid #1a1a1a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.3); background: #0a0a0a; padding: 4px; background-image: repeating-linear-gradient(45deg, #1a1a1a 0px, #1a1a1a 2px, #2a2a2a 2px, #2a2a2a 4px);'
            };

            // ===== 30 ЭФФЕКТОВ =====
            const effectStyles = {
                'none': '',
                'grayscale': 'filter: grayscale(100%);',
                'sepia': 'filter: sepia(80%);',
                'blur': 'filter: blur(2px);',
                'bright': 'filter: brightness(1.3);',
                'dark': 'filter: brightness(0.6);',
                'vignette': 'box-shadow: inset 0 0 40px rgba(0,0,0,0.7);',
                'polaroid': 'transform: rotate(var(--rot, 0deg)); padding: 6px 6px 18px 6px; background: #f5ede4;',
                'invert': 'filter: invert(100%);',
                'pixelate': 'image-rendering: pixelated; filter: blur(1px);',
                'neon': 'box-shadow: 0 0 20px rgba(201, 185, 154, 0.6), inset 0 0 20px rgba(201, 185, 154, 0.1); border-color: #c9b99a;',
                'hue': 'filter: hue-rotate(180deg);',
                'film': 'background: #2a1a0a; padding: 4px; border: 2px solid #1a0a00; box-shadow: 0 2px 10px rgba(0,0,0,0.5);',
                'contrast': 'filter: contrast(200%);',
                'saturate': 'filter: saturate(200%);',
                'dreamy': 'filter: blur(1px) brightness(1.1) saturate(0.8);',
                'noisy': 'background: repeating-linear-gradient(45deg, rgba(0,0,0,0.03) 0px, rgba(0,0,0,0.03) 2px, rgba(255,255,255,0.03) 2px, rgba(255,255,255,0.03) 4px);',
                'posterize': 'filter: posterize(4);',
                'emboss': 'filter: drop-shadow(2px 2px 0 rgba(0,0,0,0.3)) drop-shadow(-2px -2px 0 rgba(255,255,255,0.2));',
                'frost': 'background: repeating-linear-gradient(45deg, rgba(255,255,255,0.05) 0px, rgba(255,255,255,0.05) 3px, transparent 3px, transparent 6px);',
                'vaporwave': 'filter: saturate(300%) hue-rotate(-30deg) contrast(150%);',
                'retro': 'filter: sepia(50%) contrast(120%) brightness(0.9);',
                'cold': 'filter: hue-rotate(240deg) saturate(150%);',
                'warm': 'filter: sepia(60%) brightness(1.1);',
                'matrix': 'filter: hue-rotate(120deg) contrast(200%) saturate(50%);',
                'synthwave': 'box-shadow: 0 0 30px #ff00ff, 0 0 60px #00ffff; border: 2px solid #ff00ff;',
                'sketch': 'filter: contrast(200%) brightness(0.8) grayscale(100%); border: 2px solid #1a1a1a;',
                'watermark': 'background: repeating-linear-gradient(45deg, rgba(255,255,255,0.02) 0px, rgba(255,255,255,0.02) 10px, transparent 10px, transparent 20px);',
                'hdr': 'filter: contrast(150%) brightness(1.1) saturate(120%);',
                'soft': 'filter: blur(0.5px) brightness(1.05);'
            };

            // ===== 30 ДОПОЛНИТЕЛЬНЫХ ЭФФЕКТОВ =====
            const extraStyles = {
                'none': '',
                'rounded': 'border-radius: 12px; overflow: hidden;',
                'shadow': 'box-shadow: 0 8px 20px rgba(0,0,0,0.4);',
                'glow': 'box-shadow: 0 0 20px rgba(201, 185, 154, 0.3);',
                'rounded-shadow': 'border-radius: 12px; overflow: hidden; box-shadow: 0 8px 20px rgba(0,0,0,0.4);',
                'rainbow': 'background: linear-gradient(45deg, #ff0000, #ff8800, #ffff00, #00ff00, #0088ff, #8800ff); padding: 3px;',
                'glitch': 'animation: glitch 0.3s infinite alternate;',
                'cracked': 'clip-path: polygon(0% 0%, 85% 0%, 90% 10%, 95% 0%, 100% 15%, 100% 100%, 0% 100%);',
                'scratched': 'background: repeating-linear-gradient(45deg, transparent, transparent 3px, rgba(0,0,0,0.05) 3px, rgba(0,0,0,0.05) 4px);',
                'watercolor': 'filter: saturate(0.5) contrast(0.8) brightness(1.1); border-radius: 50% 20% 50% 20%;',
                'pulse': 'animation: pulse 2s infinite alternate;',
                'rotate': 'animation: rotate 4s infinite linear;',
                'shake': 'animation: shake 0.5s infinite alternate;',
                'sparkle': 'background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);',
                'gradient': 'background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(0,0,0,0.1));',
                'neon-glow': 'box-shadow: 0 0 30px rgba(201, 185, 154, 0.5), 0 0 60px rgba(201, 185, 154, 0.2); border-color: #c9b99a;',
                'vintage-border': 'border: 4px double #8a7a62; border-radius: 8px; background: #f5ede4; padding: 5px;',
                'mosaic': 'border: 3px solid #6b5a4a; border-radius: 2px; background: repeating-conic-gradient(#8a7a62 0% 25%, #b7a087 0% 50%); padding: 4px;',
                'filigree': 'border: 3px solid #c9b99a; border-radius: 12px 2px 12px 2px; background: #d4c4b0; padding: 5px; box-shadow: inset 0 0 10px rgba(0,0,0,0.1);',
                'damaged': 'border: 3px solid #4a3a2a; border-radius: 4px; background: #5a4a3a; padding: 4px; clip-path: polygon(0% 0%, 90% 0%, 100% 10%, 100% 90%, 95% 100%, 0% 100%, 0% 95%, 5% 90%, 0% 85%);',
                'painted': 'border: 4px solid #8a7a6a; border-radius: 2px 12px 2px 12px; background: #d4c4b0; padding: 5px; box-shadow: inset 0 0 15px rgba(0,0,0,0.1);',
                'embroidery': 'border: 3px dashed #c9a84c; border-radius: 8px; background: #1a1a0a; padding: 5px;',
                'lace': 'border: 2px dotted #d4c4b0; border-radius: 12px; background: #f5ede4; padding: 5px; box-shadow: 0 0 20px rgba(0,0,0,0.05);',
                'woven': 'background: repeating-linear-gradient(90deg, #8a7a62 0px, #8a7a62 2px, #b7a087 2px, #b7a087 4px); padding: 4px;',
                'leather': 'border: 3px solid #3a2a1a; border-radius: 4px; background: #4a3a2a; padding: 5px; background-image: repeating-linear-gradient(45deg, #4a3a2a 0px, #4a3a2a 3px, #3a2a1a 3px, #3a2a1a 6px);',
                'denim': 'border: 3px solid #2a3a6a; border-radius: 4px; background: #1a2a4a; padding: 5px; background-image: repeating-linear-gradient(0deg, #1a2a4a 0px, #1a2a4a 2px, #2a3a6a 2px, #2a3a6a 4px);',
                'velvet-texture': 'border: 3px solid #4a1a2a; border-radius: 6px; background: #2a0a1a; padding: 5px; background-image: radial-gradient(circle, #4a1a2a 0%, #2a0a1a 100%);',
                'rust-texture': 'border: 3px solid #6a3a1a; border-radius: 4px; background: #4a2a0a; padding: 4px; background-image: repeating-linear-gradient(45deg, #4a2a0a 0px, #4a2a0a 3px, #6a3a1a 3px, #6a3a1a 6px);',
                'stone-texture': 'border: 3px solid #6a6a6a; border-radius: 4px; background: #5a5a5a; padding: 4px; background-image: repeating-linear-gradient(45deg, #5a5a5a 0px, #5a5a5a 2px, #6a6a6a 2px, #6a6a6a 4px);',
                'sand-texture': 'border: 3px solid #c9b99a; border-radius: 4px; background: #d4c4b0; padding: 4px; background-image: radial-gradient(circle, #d4c4b0 0%, #c9b99a 100%);'
            };

            const frameStyle = frameStyles[frame] || frameStyles['none'];
            const effectStyle = effectStyles[effect] || '';
            const extraStyle = extraStyles[extra] || '';

            const html = `<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: ${gap}px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: ${width}px; min-width: ${width}px; height: ${height}px; flex: 0 0 ${width}px;
                overflow: hidden; ${frameStyle} ${effectStyle} ${extraStyle}
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - ${gap*3}px) / 4); min-width: calc((100% - ${gap*3}px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - ${gap*3}px) / 4); }
                .gallery-row { gap: ${gap}px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - ${gap*3}px) / 4); min-width: calc((100% - ${gap*3}px) / 4); flex: 0 0 calc((100% - ${gap*3}px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="${img1}" alt="1"></div>
                <div class="gallery-item"><img src="${img2}" alt="2"></div>
                <div class="gallery-item"><img src="${img3}" alt="3"></div>
                <div class="gallery-item"><img src="${img4}" alt="4"></div>
            </div>
        </div>
        </body>
        </html>`;

            document.getElementById('outputCode').value = html;
        }

        function copyCode() {
            const output = document.getElementById('outputCode');
            if (!output.value) {
                showToast('⚠️ Сначала сгенерируйте код!');
                return;
            }
            output.select();
            output.setSelectionRange(0, 999999);
            if (navigator.clipboard && navigator.clipboard.writeText) {
                navigator.clipboard.writeText(output.value).then(() => {
                    showToast('✅ Код скопирован в буфер обмена!');
                }).catch(() => {
                    document.execCommand('copy');
                    showToast('✅ Код скопирован!');
                });
            } else {
                document.execCommand('copy');
                showToast('✅ Код скопирован!');
            }
        }

        function resetForm() {
            document.getElementById('img1').value = 'https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg';
            document.getElementById('img2').value = 'https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg';
            document.getElementById('img3').value = 'https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg';
            document.getElementById('img4').value = 'https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg';
            document.getElementById('frameStyle').value = 'none';
            document.getElementById('imgEffect').value = 'none';
            document.getElementById('imgExtra').value = 'none';
            document.getElementById('outputCode').value = '';
            generateGallery();
            showToast('⟳ Форма сброшена');
        }

        function showToast(message) {
            const toast = document.getElementById('toast');
            toast.textContent = message;
            toast.classList.add('show');
            clearTimeout(toast._timer);
            toast._timer = setTimeout(() => {
                toast.classList.remove('show');
            }, 2500);
        }

        document.querySelectorAll('#galleryForm input, #galleryForm select').forEach(el => {
            el.addEventListener('input', generateGallery);
            el.addEventListener('change', generateGallery);
        });

        window.onload = generateGallery;
    </script>

</body>
</html>

[/html]

0

2

[html]<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: 3px solid #5a7a3a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); background: #8aaa6a; padding: 5px; filter: hue-rotate(120deg) contrast(200%) saturate(50%); border: 3px solid #c9b99a; border-radius: 4px; background: #d4c4b0; padding: 4px; background-image: radial-gradient(circle, #d4c4b0 0%, #c9b99a 100%);
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>[/html]

0

3

[html]<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: none; border-radius: 0; box-shadow: none; background: transparent; padding: 0; filter: sepia(50%) contrast(120%) brightness(0.9); animation: glitch 0.3s infinite alternate;
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>[/html]

0

4

[html]<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: 3px solid #8a7a62; border-radius: 4px; box-shadow: 2px 2px 8px rgba(0,0,0,0.3); background: #d4c4b0; padding: 4px; background: #2a1a0a; padding: 4px; border: 2px solid #1a0a00; box-shadow: 0 2px 10px rgba(0,0,0,0.5); background: repeating-linear-gradient(90deg, #8a7a62 0px, #8a7a62 2px, #b7a087 2px, #b7a087 4px); padding: 4px;
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>[/html]

0

5

[html]<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: 3px solid #5a7a3a; border-radius: 4px; box-shadow: 0 2px 8px rgba(0,0,0,0.15); background: #8aaa6a; padding: 5px; filter: saturate(300%) hue-rotate(-30deg) contrast(150%); animation: pulse 2s infinite alternate;
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>[/html]

0

6

[html]<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: none; border-radius: 0; box-shadow: none; background: transparent; padding: 0; filter: blur(1px) brightness(1.1) saturate(0.8); border: 4px double #8a7a62; border-radius: 8px; background: #f5ede4; padding: 5px;
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>[/html]

0

7

[html]

<!DOCTYPE html>
        <html>
        <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Галерея</title>
        <style>
            .gallery-wrapper { max-width: 100%; width: 100%; margin: 0 auto; }
            .gallery-row { display: flex; flex-wrap: nowrap; justify-content: center; gap: 5px; margin: 20px 0; max-width: 100%; overflow: hidden; }
            .gallery-item {
                width: 110px; min-width: 110px; height: 110px; flex: 0 0 110px;
                overflow: hidden; border: none; border-radius: 0; box-shadow: none; background: transparent; padding: 0; filter: contrast(200%) brightness(0.8) grayscale(100%); border: 2px solid #1a1a1a; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
                box-sizing: border-box; position: relative;
            }
            .gallery-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
            @keyframes glitch { 0% { transform: translate(0, 0); } 25% { transform: translate(-2px, 2px); } 50% { transform: translate(2px, -2px); } 75% { transform: translate(-1px, -1px); } 100% { transform: translate(1px, 1px); } }
            @keyframes pulse { 0% { transform: scale(1); } 100% { transform: scale(1.05); } }
            @keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
            @keyframes shake { 0% { transform: translateX(0); } 25% { transform: translateX(-3px); } 75% { transform: translateX(3px); } 100% { transform: translateX(0); } }
            @media (max-width: 600px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); height: auto; aspect-ratio: 1/1; flex: 0 0 calc((100% - 15px) / 4); }
                .gallery-row { gap: 5px; }
            }
            @media (max-width: 400px) {
                .gallery-item { width: calc((100% - 15px) / 4); min-width: calc((100% - 15px) / 4); flex: 0 0 calc((100% - 15px) / 4); }
            }
        </style>
        </head>
        <body style="background:#2a2420; padding:20px; display:flex; justify-content:center; align-items:center; min-height:100vh; margin:0;">
        <div class="gallery-wrapper">
            <div class="gallery-row">
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/bf/e9/38/bfe9380bb8cc69d55b020f3119e163ea.jpg" alt="1"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/cf/be/ce/cfbecea910784b382a4258596b7119cd.jpg" alt="2"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/be/a1/a5/bea1a5b075d4986f2da8f28e1a608837.jpg" alt="3"></div>
                <div class="gallery-item"><img src="https://i.pinimg.com/736x/52/6d/e6/526de66d4f52c612b4ef6f5d5c9101c5.jpg" alt="4"></div>
            </div>
        </div>
        </body>
        </html>
[/html]

0


Вы здесь » #барсук » К администрации » Генератор четырех картинок в подпись/тему