Загрузка данных


<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Практическое занятие №9: Верстка на основе Flexbox</title>
    <style>
        /* Общие стили для демонстрационной страницы */
        body {
            font-family: 'Times New Roman', serif;
            background-color: #f4f4f9;
            color: #333;
            padding: 20px;
            margin: 0;
        }
        h1 {
            text-align: center;
            color: #111;
        }
        .task-container {
            background: #fff;
            border: 1px solid #ccc;
            border-radius: 6px;
            padding: 20px;
            margin-bottom: 30px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
        }
        .task-title {
            font-weight: bold;
            font-size: 1.1rem;
            margin-bottom: 15px;
            border-bottom: 1px dashed #bbb;
            padding-bottom: 5px;
        }
        
        /* Стили флекс-контейнеров и элементов (как на скриншотах) */
        .flex-container {
            background-color: #d1d5db; /* Серый фон из методички */
            border: 1px dashed #9ca3af;
            min-height: 140px;
            padding: 10px;
            display: flex;
        }
        .item {
            background-color: #fff;
            border: 2px solid #4b5563;
            border-radius: 12px; /* Скругленные квадраты */
            width: 50px;
            height: 50px;
            margin: 5px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: bold;
            font-size: 1.2rem;
        }

        /* --- ЗАДАНИЕ 1: flex-direction --- */
        .dir-row { flex-direction: row; }
        .dir-row-reverse { flex-direction: row-reverse; }
        .dir-column { flex-direction: column; min-height: 260px; }
        .dir-column-reverse { flex-direction: column-reverse; min-height: 260px; }

        /* --- ЗАДАНИЕ 2: justify-content --- */
        .jc-start { justify-content: flex-start; }
        .jc-end { justify-content: flex-end; }
        .jc-center { justify-content: center; }
        .jc-between { justify-content: space-between; }
        .jc-around { justify-content: space-around; }
        .jc-evenly { justify-content: space-evenly; }

        /* --- ЗАДАНИЕ 3: По базовой линии (align-items: baseline) --- */
        .ai-baseline { align-items: baseline; }
        .item.lang-js { font-size: 0.9rem; padding-top: 15px; }
        .item.lang-css { font-size: 1.4rem; }
        .item.lang-html { font-size: 2rem; }

        /* --- ЗАДАНИЕ 4: Свойство align-self --- */
        .as-container { align-items: stretch; }
        .as-start { align-self: flex-start; }
        .as-center { align-self: center; }
        .as-end { align-self: flex-end; }

        /* --- ЗАДАНИЕ 5: align-content --- */
        .ac-container { flex-wrap: wrap; height: 220px; align-content: space-between; }

        /* --- ЗАДАНИЕ 6: flex-wrap --- */
        .wrap-container { flex-wrap: wrap; width: 220px; }
    </style>
</head>
<body>

    <h1>Практическое занятие №9<br>Верстка на основе flex-контейнеров (Flexbox)</h1>

    <div class="task-container">
        <div class="task-title">Задание: Расположите элементы с использованием значения row, row-reverse, column, column-reverse.</div>
        
        <p><code>row</code> (слева направо):</p>
        <div class="flex-container dir-row">
            <div class="item"></div><div class="item"></div>
        </div>

        <p><code>row-reverse</code> (справа налево):</p>
        <div class="flex-container dir-row-reverse">
            <div class="item"></div><div class="item"></div>
        </div>

        <p><code>column</code> (сверху вниз):</p>
        <div class="flex-container dir-column">
            <div class="item"></div><div class="item"></div>
        </div>

        <p><code>column-reverse</code> (снизу вверх):</p>
        <div class="flex-container dir-column-reverse">
            <div class="item"></div><div class="item"></div>
        </div>
    </div>

    <div class="task-container">
        <div class="task-title">Задание: Расположите элементы с использованием значения justify-content.</div>
        
        <p><code>flex-start</code>:</p>
        <div class="flex-container jc-start">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>

        <p><code>flex-end</code>:</p>
        <div class="flex-container jc-end">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>

        <p><code>center</code>:</p>
        <div class="flex-container jc-center">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>

        <p><code>space-between</code>:</p>
        <div class="flex-container jc-between">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>

        <p><code>space-around</code>:</p>
        <div class="flex-container jc-around">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>

        <p><code>space-evenly</code>:</p>
        <div class="flex-container jc-evenly">
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>
    </div>

    <div class="task-container">
        <div class="task-title">Задание: Расположите элементы по базовой линии (align-items: baseline).</div>
        <div class="flex-container ai-baseline">
            <div class="item lang-js">JavaScript</div>
            <div class="item lang-css">CSS</div>
            <div class="item lang-html">HTML</div>
        </div>
    </div>

    <div class="task-container">
        <div class="task-title">Задание: Индивидуальное выравнивание элементов с помощью align-self.</div>
        <div class="flex-container as-container">
            <div class="item as-end"></div>
            <div class="item as-center"></div>
            <div class="item as-start"></div>
        </div>
    </div>

    <div class="task-container">
        <div class="task-title">Задание: Расположите элементы с использованием значения align-content (многострочность).</div>
        <div class="flex-container ac-container">
            <div class="item"></div><div class="item"></div><div class="item"></div>
            <div class="item"></div><div class="item"></div><div class="item"></div>
        </div>
    </div>

    <div class="task-container">
        <div class="task-title">Задание: Расположите элементы с использованием значения flex-wrap (перенос строк).</div>
        <div class="flex-container wrap-container">
            <div class="item"></div><div class="item"></div><div class="item"></div>
            <div class="item"></div><div class="item"></div>
        </div>
    </div>

</body>
</html>