You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/bg/3-terrarium/2-intro-to-css/assignment.md

12 KiB

Задание за рефакторинг на CSS

Цел

Трансформирайте проекта си за терариум, като използвате съвременни техники за оформление с CSS! Рефакторирайте текущия подход с абсолютно позициониране, за да внедрите Flexbox или CSS Grid за по-лесно поддържане и адаптивен дизайн. Това задание ви предизвиква да приложите съвременни стандарти на CSS, като същевременно запазите визуалната привлекателност на вашия терариум.

Разбирането кога и как да използвате различни методи за оформление е ключово умение за съвременното уеб разработване. Това упражнение свързва традиционните техники за позициониране със съвременните системи за оформление с CSS.

Инструкции за заданието

Фаза 1: Анализ и планиране

  1. Прегледайте текущия си код за терариума - Идентифицирайте кои елементи в момента използват абсолютно позициониране.
  2. Изберете метод за оформление - Решете дали Flexbox или CSS Grid по-добре отговаря на вашите дизайнерски цели.
  3. Скицирайте новата структура на оформлението - Планирайте как контейнерите и елементите на растенията ще бъдат организирани.

Фаза 2: Имплементация

  1. Създайте нова версия на проекта си за терариум в отделна папка.
  2. Актуализирайте HTML структурата според избрания метод за оформление.
  3. Рефакторирайте CSS така, че да използва Flexbox или CSS Grid вместо абсолютно позициониране.
  4. Запазете визуалната консистентност - Уверете се, че растенията и бурканът на терариума изглеждат на същите позиции.
  5. Внедрете адаптивно поведение - Оформлението ви трябва да се адаптира плавно към различни размери на екрана.

Фаза 3: Тестване и документация

  1. Тестване на различни браузъри - Уверете се, че дизайнът ви работи в Chrome, Firefox, Edge и Safari.
  2. Тестване на адаптивността - Проверете оформлението си на мобилни устройства, таблети и настолни компютри.
  3. Документация - Добавете коментари към CSS, обясняващи вашите избори за оформление.
  4. Скрийншоти - Заснемете вашия терариум в различни браузъри и размери на екрана.

Технически изисквания

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

  • Изберете ЕДИН: Внедрете или Flexbox ИЛИ CSS Grid (не и двете за едни и същи елементи).
  • Адаптивен дизайн: Използвайте относителни единици (rem, em, %, vw, vh) вместо фиксирани пиксели.
  • Достъпност: Поддържайте правилна семантична HTML структура и alt текст.
  • Качество на кода: Използвайте последователни конвенции за именуване и организирайте CSS логично.

Съвременни функции на CSS, които да включите

/* Example Flexbox approach */
.terrarium-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  align-items: center;
  justify-content: center;
}

.plant-containers {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
}

/* Example Grid approach */
.terrarium-layout {
  display: grid;
  grid-template-columns: 1fr 3fr 1fr;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  gap: 1rem;
}

Изисквания за поддръжка на браузъри

  • Chrome/Edge: Последните 2 версии
  • Firefox: Последните 2 версии
  • Safari: Последните 2 версии
  • Мобилни браузъри: iOS Safari, Chrome Mobile

Резултати

  1. Актуализиран HTML файл с подобрена семантична структура.
  2. Рефакторизиран CSS файл с използване на съвременни техники за оформление.
  3. Колекция от скрийншоти, показваща съвместимост между браузърите:
    • Десктоп изглед (1920x1080)
    • Таблет изглед (768x1024)
    • Мобилен изглед (375x667)
    • Поне 2 различни браузъра
  4. README.md файл, документиращ:
    • Вашия избор на оформление (Flexbox срещу Grid) и причините за него
    • Предизвикателствата, срещнати по време на рефакторинга
    • Бележки за съвместимостта с браузърите
    • Инструкции за стартиране на кода

Оценъчна таблица

Критерии Отлично (4) Добро (3) Развиващо се (2) Начално (1)
Имплементация на оформлението Майсторско използване на Flexbox/Grid с напреднали функции; напълно адаптивно Коректна имплементация с добро адаптивно поведение Основна имплементация с малки проблеми в адаптивността Непълна или некоректна имплементация на оформлението
Качество на кода Чист, добре организиран CSS с смислени коментари и последователно именуване Добра организация с някои коментари Адекватна организация с минимални коментари Лоша организация; трудно за разбиране
Съвместимост между браузърите Перфектна консистентност във всички изисквани браузъри със скрийншоти Добра съвместимост с малки разлики, документирани Някои проблеми със съвместимостта, които не нарушават функционалността Сериозни проблеми със съвместимостта или липсващо тестване
Адаптивен дизайн Изключителен подход "mobile-first" с плавни точки на прекъсване Добро адаптивно поведение с подходящи точки на прекъсване Основни адаптивни функции с някои проблеми в оформлението Ограничено или счупено адаптивно поведение
Документация Изчерпателен README с подробни обяснения и прозрения Добра документация, обхващаща всички изисквани елементи Основна документация с минимални обяснения Непълна или липсваща документация

Полезни ресурси

Ръководства за методи на оформление

Инструменти за тестване на браузъри

Инструменти за качество на кода

Допълнителни предизвикателства

🌟 Напреднали оформления: Внедрете както Flexbox, така и Grid в различни части на дизайна си
🌟 Интеграция на анимации: Добавете CSS преходи или анимации, които работят с новото оформление
🌟 Тъмен режим: Внедрете превключвател на тема, базиран на CSS персонализирани свойства
🌟 Контейнерни заявки: Използвайте съвременни техники за контейнерни заявки за адаптивност на ниво компонент

💡 Запомнете: Целта не е просто да го направите, а да разберете ЗАЩО избраният от вас метод за оформление е най-доброто решение за този конкретен дизайнерски предизвикателство!


Отказ от отговорност:
Този документ е преведен с помощта на AI услуга за превод Co-op Translator. Въпреки че се стремим към точност, моля, имайте предвид, че автоматизираните преводи може да съдържат грешки или неточности. Оригиналният документ на неговия роден език трябва да се счита за авторитетен източник. За критична информация се препоръчва професионален човешки превод. Ние не носим отговорност за недоразумения или погрешни интерпретации, произтичащи от използването на този превод.