GithubHelp home page GithubHelp logo

task-4's Introduction

Задача №4 "Котограм"

Как отправить решение:

  1. Склонируйте репозиторий (тут есть описание как это сделать).
  2. Напишите код в файлах catgram/src/index.css catgram/src/index.html
  3. Отправьте Pull Request. В качестве commit message пишите что изменилось.

Основное задание

​ ​

⚠️ Задание необходимо решить без использования JS

​ Благодаря вашей героической помощи с Мурмаркетом все котики нашли себе новых хозяев! Теперь бабуленька коротает долгие зимние вечера, вздыхая и разглядывая кошачьи фоточки. Ей было бы гораздо веселее, если бы их можно было не только смотреть, но и редактировать!

Давайте сделаем для нее Котограм, красивый и бесполезный. Красивый, потому что все котики прекрасны, а фильтры позволяют раскрыть индивидуальность каждого. Бесполезный, потому результат нельзя никуда сохранить, но разве это важно?

Вот такой:

img.png

img_1.png

Необходимо сверстать этот макет, соблюдая следующие условия:

  • Страница находится посередине экрана и имеет фиксированную ширину
  • Иконки контролов нужно реализовать с использованием svg-спрайта, его вы должны сами собрать из иконок в папке icons. Иконки должны располагаться в верхней строке, как нарисовано на макете.
  • Фоточка котика (любого, можно даже вашего!) должна быть подходящего формата. Главное – не забыть об оптимизации
  • Нужно реализовать следующие контролы редактирования изображения, при редактировании нужно реализовать анимации:
    • вмещаемость (вписано в квадрат/показано целиком)
    • масштабирование (каждое нажатие циклически изменяет масштаб: 1 - x1 - ... xn - 1 ...)
    • просмотр исходного изображения при нажатии на логотип
    • поворот (циклически, аналогично масштабированию)
    • отражение по горизонтали
  • Нужно реализовать фильтры с макета. Фильтры должны применяться с анимацией. Название активного фильтра выделено полужирным. Фильтры располагаются в галерее со стрелками для пролистывания (если все фильтры вмещаются на одном экране - стрелки неактивны) под изображением. Не забудьте сделать красивый градиент для логотипа :) Подсказка: для циклического переключателя отлично подходит сочетание радиокнопок и z-index ;)

Дополнительное задание

Придумайте и реализуйте еще несколько (хотя бы 2) фильтров для Котограма и добавьте их в галерею-карусель, дополнив ее поведение следующими пунктами:

  • Фильтры листаются вправо и влево по клику на соответствующие иконки
  • Одновременно видно не более четырех фильтров
  • Если листать дальше некуда, иконка с соответствующей стороны становится неактивной ​

Рекомендации к написанию кода:

⚠️Эти пункты учитываются при проверке⚠️

  • Соблюдайте семантику - важно выработать привычку называть все своими именами
  • HTML-разметка и css должны быть валидными - проверьте на сайте W3C html, css
  • В CSS не используйте универсальные селекторы и по идентификаторам, если в этом нет необходимости
  • В CSS не используются селекторы элементов (кроме случаев, когда это селектор охватывает 1-2 элемента, например, body или html). Предпочтительны селекторы классов
  • Старайтесь не дублировать название одного и того же класса, а селекторы с одинаковым набором правил группируются в один через запятую
  • Не используйте !important и инлайн-стили, если в этом нет необходимости, а если есть причины - опишите в комментариях в коде
  • Решение должно корректно отображаться и работать в последних версиях современных браузеров (Chrome, Firefox, Safari, YandexBrowser)
  • Пишите комментарии в коде, почему приходится нарушать рекомендации

task-4's People

Contributors

masha238 avatar someoneinthebox avatar trixartem avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.