/
weeny
/
Project
Обзор
Документация
Войти
/
weeny
/
Project
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
index.html
688 строк
21 KB
weeny
create: .gitignore, index.html, req.pip, first-logo.svg, gallery-1.jpg, gallery-2.jpg, gallery-3.jpg, gallery-4.jpg, gallery-5.jpg, icon-medal.svg, icon-moon.svg, icon-shuttle.svg, icon-telescope.svg, logo.svg, move-right.svg, unused.svg
06 мар 2026, 19:14
Верифицирован
06 мар 2026, 19:14
ec18fcc
Код
Авторство
О чём код?
<!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Космическое агентство</title> <link rel="icon" type="image/svg+xml" href="static/photo/first-logo.svg"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Montserrat:wght@600;700&display=swap" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.css"/> <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick-theme.css"/> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css"/> <style> html { scroll-behavior: smooth; } :root { --dark-bg: #1E1E1E; --text-color: #FFFFFF; --text-muted: #B0B0B0; } body { font-family: 'Roboto', sans-serif; background-color: var(--dark-bg); color: var(--text-color); } .navbar { background-color: #17191D; padding: 1rem 0; height: 100px; } .navbar .container { height: 100%; display: flex; align-items: center; } .navbar-brand img { height: 60px; width: auto; } .navbar-nav { gap: 2rem; } .nav-link { color: var(--text-color) !important; text-transform: uppercase; font-weight: 600; font-size: 14px; margin: 0; transition: color 0.3s ease; font-family: 'Montserrat', sans-serif; letter-spacing: 0.05em; position: relative; } .nav-link::after { content: ''; position: absolute; bottom: -4px; left: 50%; width: 0; height: 2px; background-color: #FF342B; transition: width 0.3s ease, left 0.3s ease; } .nav-link:hover::after { width: 100%; left: 0; } .nav-link:hover { color: #FF342B !important; } .btn-login { background-color: #FF342B; color: white; border: none; padding: 12px 32px; border-radius: 4px; transition: all 0.3s ease; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 16px; line-height: 100%; letter-spacing: 0.05em; text-transform: uppercase; cursor: pointer; } .btn-login:hover { background-color: #d62c1b; color: white; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(255, 52, 43, 0.4); } .hero { padding: 4rem 0; text-align: center; background-color: #0D0F12; } .hero .container { max-width: 1200px; } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .hero__title { font-family: 'Montserrat', sans-serif; font-size: 3.5rem; font-weight: 700; margin-bottom: 1.5rem; max-width: 750px; margin-left: auto; margin-right: auto; animation: fadeInUp 0.8s ease-out; } .hero__description { color: var(--text-muted); max-width: 700px; margin: 0 auto 5rem; font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1.6; letter-spacing: 0.02em; animation: fadeInUp 0.8s ease-out 0.2s both; } .hero__content { display: flex; align-items: center; justify-content: center; gap: 4rem; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; animation: fadeIn 1s ease-out 0.4s both; } .hero__earth { flex: 1; max-width: 500px; min-width: 300px; } .hero__earth img { width: 555px; height: 457px; border-radius: 4px; transition: transform 0.5s ease; } .hero__earth img:hover { transform: scale(1.02); } .hero__features { flex: 1; max-width: 595px; min-width: 300px; width: 595px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto auto; gap: 2rem 2.5rem; text-align: center; justify-items: center; } .feature__item { display: flex; flex-direction: column; align-items: center; width: 223px; transition: transform 0.3s ease; } .feature__item:hover { transform: translateY(-5px); } .feature__icon-wrapper { height: 64px; display: flex; align-items: flex-start; justify-content: center; margin-bottom: 0.5rem; transition: transform 0.3s ease; } .feature__item:hover .feature__icon-wrapper { transform: scale(1.1); } .feature__icon { width: 48px; height: 48px; flex-shrink: 0; transition: filter 0.3s ease; } .feature__item:hover .feature__icon { filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3)); } .feature__title { color: white; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 16px; line-height: 24px; letter-spacing: 0.02em; width: 223px; } .gallery-section { background-color: #1F242C; padding: 4rem 0; } .gallery-title { text-align: center; margin-bottom: 3rem; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 42px; line-height: 52px; letter-spacing: 0.02em; width: fit-content; margin-left: auto; margin-right: auto; opacity: 0; animation: fadeInUp 0.8s ease-out 0.6s both; } .gallery-container { max-width: 1121px; margin: 0 auto; padding: 0 20px; } .slider-for { width: 100%; max-width: 945px; margin: 0 auto 2rem; } .slider-for img { width: 100%; height: 529px; object-fit: cover; border-radius: 4px; cursor: pointer; } .slider-nav { max-width: 900px; margin: 20px auto 0; padding: 0 70px; position: relative; } .slider-nav .slick-slide { padding: 0 10px; box-sizing: border-box; } .slider-nav .slick-slide img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 4px; opacity: 0.5; transition: all 0.3s ease; cursor: pointer; border: 2px solid transparent; } .slider-nav .slick-slide img:hover { opacity: 0.8; } .slider-nav .slick-current img { opacity: 1; border: 2px solid #FFFFFF; } .custom-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 48px; height: 48px; background-color: #FF342B; border-radius: 50%; border: none; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; transition: all 0.2s ease; padding: 0; } .custom-arrow img { width: 24px; height: 24px; opacity: 1 !important; border: none !important; transition: transform 0.2s ease; } .custom-arrow:hover img { transform: scale(1.1); } .flip-arrow { transform: scaleX(-1); } .custom-arrow:hover { background-color: #d62c1b; transform: translateY(-50%) scale(1.1); box-shadow: 0 4px 12px rgba(255, 52, 43, 0.4); } .left-arrow { left: 5px; } .right-arrow { right: 5px; } .slider-nav .slick-prev::before, .slider-nav .slick-next::before { display: none !important; } @media (max-width: 768px) { .custom-arrow { display: none !important; } .navbar { height: 60px; padding: 0.5rem 0; } .navbar .container { padding: 0 1rem; } .navbar-brand img { height: 40px; } .navbar-toggler { border: none; padding: 0.25rem 0.5rem; } .navbar-toggler-icon { width: 1.5em; height: 1.5em; } .btn-login { padding: 10px 24px; font-size: 14px; } .hero { padding: 2rem 0; } .hero .container { padding: 0 1rem; } .hero__title { font-size: 2rem; margin-bottom: 1rem; } .hero__description { font-size: 14px; margin-bottom: 2rem; padding: 0 1rem; } .hero__content { flex-direction: column; gap: 2rem; } .hero__earth { max-width: 100%; order: 2; padding: 0 1rem; } .hero__earth img { width: 100%; height: auto; } .hero__features { max-width: 100%; width: 100%; order: 1; gap: 2rem 1.5rem; padding: 0 1rem; } .feature__item { width: 100%; max-width: 180px; } .feature__icon { width: 40px; height: 40px; } .feature__icon-wrapper { height: 56px; } .feature__title { font-size: 14px; line-height: 20px; width: 100%; } .gallery-section { padding: 2rem 0; background-color: #2C3440; } .gallery-title { font-size: 32px; line-height: 40px; margin-bottom: 2rem; } .gallery-container { padding: 0 1rem; max-width: 100%; } .slider-for { max-width: 340px; margin: 0 auto 1.5rem; padding: 0; } .slider-for img { width: 340px; height: 200px; border-radius: 4px; } .slider-nav { max-width: 340px; margin: 0 auto; padding: 0 10px; } .slider-nav .slick-list { margin: 0 -6px; } .slider-nav .slick-slide { padding: 0 6px; } .slider-nav img { width: 80px; height: 80px; border-radius: 8px; } } @media (max-width: 480px) { .hero__title { font-size: 1.75rem; } .hero__description { font-size: 13px; } .feature__title { font-size: 13px; line-height: 18px; } .gallery-title { font-size: 28px; line-height: 36px; } .main-image-display { height: 250px; } .thumb { width: 70px; height: 70px; } } /* --- АДАПТИВНОСТЬ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ --- */ @media (max-width: 768px) { .slider-nav { padding: 0; } .slider-nav .slick-slide { padding: 0 5px; } } </style> </head> <body> <nav class="navbar navbar-expand-lg navbar-dark"> <div class="container"> <a class="navbar-brand" href="#"> <img src="static/photo/logo.svg" alt="NASA Logo"> </a> <button class="btn-login d-lg-none">ВХОД</button> <div class="collapse navbar-collapse justify-content-center d-none d-lg-flex" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" href="#benefits">ПРЕИМУЩЕСТВА</a> </li> <li class="nav-item"> <a class="nav-link" href="#photos">ФОТОГРАФИИ</a> </li> </ul> </div> <div class="d-none d-lg-block"> <button class="btn-login">ВХОД</button> </div> </div> </nav> <section class="hero" id="benefits"> <div class="container"> <h1 class="hero__title">Космическое агентство</h1> <p class="hero__description"> Национальное управление по аэронавтике и исследованию космического пространства — ведомство, относящееся к федеральному правительству США и подчиняющееся непосредственно президенту США. </p> <div class="hero__content"> <div class="hero__earth"> <img src="static/photo/unused.svg" alt="Earth from Space"> </div> <div class="hero__features"> <div class="feature__item"> <div class="feature__icon-wrapper"> <img src="static/photo/icon-shuttle.svg" alt="Shuttle" class="feature__icon"> </div> <div class="feature__title">Спейс шаттлы —пилотируемые корабли</div> </div> <div class="feature__item"> <div class="feature__icon-wrapper"> <img src="static/photo/icon-telescope.svg" alt="Telescope" class="feature__icon"> </div> <div class="feature__title">Лучшее телескопическое оборудование</div> </div> <div class="feature__item"> <div class="feature__icon-wrapper"> <img src="static/photo/icon-moon.svg" alt="Moon" class="feature__icon"> </div> <div class="feature__title">Исследовательские станции на Луне — шаг к новым открытиям!</div> </div> <div class="feature__item"> <div class="feature__icon-wrapper"> <img src="static/photo/icon-medal.svg" alt="Medal" class="feature__icon"> </div> <div class="feature__title">Золотая медаль по научным исследованиям</div> </div> </div> </div> </div> </section> <section class="gallery-section" id="photos"> <div class="container"> <h2 class="gallery-title">Фотографии</h2> <div class="gallery-container"> <div class="slider-for"> <div> <a href="static/photo/gallery-1.jpg" data-fancybox="gallery" data-caption="Галактика"> <img src="static/photo/gallery-1.jpg" alt="Галактика"> </a> </div> <div> <a href="static/photo/gallery-2.jpg" data-fancybox="gallery" data-caption="Туманность"> <img src="static/photo/gallery-2.jpg" alt="Туманность"> </a> </div> <div> <a href="static/photo/gallery-3.jpg" data-fancybox="gallery" data-caption="Планета"> <img src="static/photo/gallery-3.jpg" alt="Планета"> </a> </div> <div> <a href="static/photo/gallery-4.jpg" data-fancybox="gallery" data-caption="Звёздное скопление"> <img src="static/photo/gallery-4.jpg" alt="Звёздное скопление"> </a> </div> <div> <a href="static/photo/gallery-5.jpg" data-fancybox="gallery" data-caption="Космическая станция"> <img src="static/photo/gallery-5.jpg" alt="Космическая станция"> </a> </div> </div> <div class="slider-nav"> <div><img src="static/photo/gallery-1.jpg" alt="Галактика"></div> <div><img src="static/photo/gallery-2.jpg" alt="Туманность"></div> <div><img src="static/photo/gallery-3.jpg" alt="Планета"></div> <div><img src="static/photo/gallery-4.jpg" alt="Звёздное скопление"></div> <div><img src="static/photo/gallery-5.jpg" alt="Космическая станция"></div> </div> </div> </div> </section> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/slick-carousel@1.8.1/slick/slick.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> <script> $(document).ready(function(){ $('.slider-for').slick({ slidesToShow: 1, slidesToScroll: 1, arrows: false, fade: true, asNavFor: '.slider-nav' }); $('.slider-nav').slick({ slidesToShow: 5, slidesToScroll: 1, asNavFor: '.slider-for', dots: false, centerMode: true, focusOnSelect: true, infinite: true, arrows: true, prevArrow: '<button type="button" class="custom-arrow left-arrow"><img src="static/photo/move-right.svg" class="flip-arrow" alt="Назад"></button>', nextArrow: '<button type="button" class="custom-arrow right-arrow"><img src="static/photo/move-right.svg" alt="Вперед"></button>', responsive: [ { breakpoint: 1024, settings: { slidesToShow: 3, centerMode: true } }, { breakpoint: 768, settings: { slidesToShow: 3, arrows: false, centerMode: true } } ] }); Fancybox.bind('[data-fancybox="gallery"]', { Toolbar: { display: { left: [], middle: [], right: ["close"] } } }); }); </script> </body> </html>