Grid и flex в одном документе | CSS для Профи

Поделиться
HTML-код
  • Опубликовано: 14 май 2019
  • ПОДДЕРЖАТЬ АВТОРА И КАНАЛ:
    www.liqpay.ua/ru/checkout/car...
    Webmoney:
    Z166344793421
    R369744777501
    U871336351200
    Телеграмм чат:
    t.me/joinchat/FQXf-hN9LRuCosQ...
    Бывают ситуации, когда ну очень уместно разместить верстку при помощи грид разметки, но не всегда элементы будут вести себя предсказуемо или даже иногда не делать то, чего мы ожидаем.
    Для этого в некоторых особых случаях мы смешиваем гриды и флекс верстку в одном документе!
    МАТЕРИАЛЫ УРОКА:
    drive.google.com/open?id=1Nr_...
    xsltdev.ru/css/grid-auto-flow/
    developer.mozilla.org/ru/docs...
    БАЗОВЫЙ КУРС ПО HTML & CSS:
    • Знакомство с основным ...

Комментарии • 32

  • @hi.imapanda.1285
    @hi.imapanda.1285 4 года назад +4

    Отличное видео!! Спасибо за труды!!!
    Как по мне так Grid в разы лучше у меня усваивается, чем Flex.

  • @ta_ti
    @ta_ti 4 года назад +1

    Повозилась со всеми свойствами, что б сделать красоту, в итоге flex: 1 помог... оставила его напоследок, т.к. в этом уроке не поняла сей магии с ним, хотя на других примерах, когда блоки больше других в n-раз - все понятно. Оооох, что не понятно, надо запомнить, мб потом пойму ахахха
    в любом случае, теперь разрешаю себе двигаться дальше по урокам Андрея ))

  • @_Fantom_.
    @_Fantom_. 3 года назад

    Отличный урок, спасибо!

  • @TheHappiness1000
    @TheHappiness1000 4 года назад

    Отличное видео. Спасибо

  • @user-wv2tr3km2h
    @user-wv2tr3km2h 5 лет назад +9

    На часах 2:11. Я - /настолько рад и в то же время опечален, что не могу выбрать, какую эмоцию выпустить наружу/. Наконец я понял, как сделать эти дурацкие строки поменьше, чтобы не вылазила грамоздкая картинка.. Юху, что-ли.. Я устал. Почему это так сложно? Как я могу скинуть сюда пример выполнения домашнего задания, чтобы его раскритиковали к хренам собачьим? (Нет, правда, мне нужно узнать свои ошибки и какие-нибудь тонкости работы). Спасибо за урок.

    • @blackassasin5246
      @blackassasin5246 3 года назад

      ты выложи свою работу на хабр или stack overflow и там тебя как последнюю собаку иметь будут а если скажешь что это самая лучшая верстка то получишь не забываемый опыт

  • @podpalmoi
    @podpalmoi Год назад +1

    А ещё не работает грид внутри флекса. Если закомментить дисплей флекс, грид рабочий. Иначе все картинки в нём сбиваются в вертикаль. Думаю, как исправить, но мне уже кажется, что это несовместимость.

  • @vldkv
    @vldkv 4 года назад

    Спасибо за урок!)

  • @kzuralsk7533
    @kzuralsk7533 Год назад +2

    Здравствуйте и спасибо за урок. Есть несколько вопросов.
    Скажите, на практике как часто встречается:
    1. Совместное употребление flex и grid
    2. Употребление flex
    Можно ли в принципе ограничиться grid ?
    И ещё. Я повторял точь - в - точь за вами, но у меня получился совсем другой результат. В частности, свойство object-fit не сработало и блоки остались на том же месте. Скачал ваши материалы и там отображает так же, как и у меня. В чём может быть проблема?

    • @andrievskii
      @andrievskii  Год назад

      Здравствуйте! Ответы на ваши вопросы:
      Совместное употребление flex и grid: Это довольно распространенная практика. Grid и Flexbox предназначены для решения разных задач, и они могут дополнять друг друга. Grid лучше подходит для двухмерных макетов (колонки и строки), в то время как Flexbox лучше подходит для одномерных макетов (или колонки, или строки). Использование их вместе может позволить вам создавать более сложные и гибкие макеты.
      Употребление flex: Flexbox является чрезвычайно распространенным инструментом для создания макетов в CSS. Он используется для создания макетов, которые должны адаптироваться к различным размерам экрана и различным размерам контента. Flexbox широко используется и является важным инструментом для любого разработчика веб-интерфейсов.
      Можно ли в принципе ограничиться grid?: Да, можно использовать только grid, но это может быть не всегда оптимальным решением. Grid и Flexbox обладают своими уникальными возможностями, и каждый лучше подходит для определенных сценариев. В некоторых случаях использование Flexbox может быть проще или более эффективно, чем использование Grid.

  • @helloworld-fv8kx
    @helloworld-fv8kx 4 года назад

    thanks

  • @podpalmoi
    @podpalmoi Год назад +1

    Товарищ автор, я нашёл, что грид неспособен реализовать банальный макет из 2 блоков разной ширины, расположенных горизонтально, чтобы при сужении экрана второй переносился вниз. Скажите пожалуйста, это действительно непосильная для грида задача? Флекс решает её 3-5 строками кода.

    • @svetoboririyskiy3295
      @svetoboririyskiy3295 Год назад

      В основном удобнее использовать Flex!
      Grid используйте в блоках сложной конструкции (для интересного дизайна, большей информативности блока и т.п.). Если вёрстка адаптивная, то желательно, чтобы информация в блоке Grid была читабельна на экране смартфона и блок не ломался.
      А лучше всего при адаптивной вёрстке сложных дизайнов не использовать. Хотите сложный дизайн? - делайте для смартфонов отдельный шаблон (к тому же для смартов диз вообще не важен - экран маленький).

  • @user-er6ce4il7o
    @user-er6ce4il7o 3 года назад +2

    После нового свойства "object-fit" (22:25) никаких изменений не появляются и картинки не растягиваются.(как при значение у background-size:cover). Скачал все исходники с вашего гугла и они тоже не работают((( Может в 2020 году это свойство передалили) Не могу найти информацию, подскажите пожалуйста)

    • @user-er6ce4il7o
      @user-er6ce4il7o 3 года назад

      хмм, при изменении свойства max-width на max-height более менее сработало

    • @ARlSTOTEL
      @ARlSTOTEL 3 года назад

      @@user-er6ce4il7o все работает, ищи ошибку. Например, класы в исходниках не совпадают в теми класами что он делает во время урока. Ошибка в букве.

  • @viacheslavkrotevych7849
    @viacheslavkrotevych7849 4 года назад +2

    Ребята, не понял, зачем использовалось flex:1;
    Искал в Интернете, не могу найти, подскажите кто-то пожалуйста

    • @pavelkuzin7431
      @pavelkuzin7431 4 года назад

      flex Это сокращенная запись для flex-grow, flex-shrink и flex-basis

    • @urek8988
      @urek8988 4 года назад

      сокращение такое. Выше описано

    • @alaki7377
      @alaki7377 4 года назад +3

      Если указывается одно числовое значение оно устанавливается для flex-grow (так и есть в нашем случае).
      flex-grow - Коэффициент растяжения. Коэффициент увеличения ширины флекс-элемента относительно других флекс-элементов.
      Мы дали значение (display: flex;) для всех figure. То есть они стали ФЛЕКСАМИ каждый из них и сто у них внутри. И теперь мы обращаемся к Img, входящим в эти flexы, говоря им сколько места занять в figure относительно других Img. Мы задали им "flex:1". То есть в каждом Флексе figure каждый элемент img займёт полую его область, так как больше нет конкурентов (img). Внутри каждого figure только 1 img.

  • @vlad2271
    @vlad2271 3 года назад

    как ты так выделять по-разному? (Тайм код 14:07 до 14:21)

    • @user-cr8pf1fq6x
      @user-cr8pf1fq6x 2 года назад

      ALT зажимай и кликай на места где хочешь что-то ввести

  • @Professor_Ro
    @Professor_Ro 4 года назад

    киньте сылку где можно скачать css штоб установить на компютер его сибе

    • @rusfungame
      @rusfungame 3 года назад

      КеееееееееееееК

  • @videostudio5387
    @videostudio5387 4 года назад

    Здравствуйте, скажите а как этот же CSS код изменить чтоб работало в ие?

    • @videostudio5387
      @videostudio5387 4 года назад +1

      body {
      background: #709709;
      font-family: Arial, Helvetica, sans-serif;
      }
      .portfolio {
      width: 900px;
      margin: 0 auto;
      display: -ms-grid;
      -ms-grid-columns: 1fr, auto;
      display: grid;
      grid-template-columns: repeat(
      auto-fill /* автоматическое заполнение сетки */,
      minmax(200px, 1fr)
      );
      grid-auto-rows: 1fr;
      grid-gap: 1em;
      grid-auto-flow: dense; /* заполняет пустые квадраты */
      }
      .portfolio figure {
      margin: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      flex-direction: column; /* по колонкам */
      }
      .portfolio img {
      max-width: 100%;
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      -o-object-fit: cover;
      object-fit: cover; /* обрезает изображение центрируя его */
      }
      .portfolio figcaption {
      padding: 0.4em 1em;
      background: #bbb;
      color: #fff;
      text-align: right;
      }
      .portfolio .big {
      -ms-grid-row-span: 2;
      grid-row: span 2;
      -ms-grid-column-span: 2;
      grid-column: span 2;
      }
      изменил так код но это не помогло(

    • @uixdigital3191
      @uixdigital3191 4 года назад

      Автор забил на своих подписчиков, попробуйте дописать:
      pic: display: -ms-grid;
      figure: display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-direction: column;
      img: display: -ms-flexbox; -webkit-box-flex: 1;

      -ms-flex: 1; -o-object-fit: cover;
      big: -ms-grid-row-span: 2; -ms-grid-column-span: 2;

    • @psix9618
      @psix9618 4 года назад +3

      @@uixdigital3191 у автора работа

    • @podmaskoygoluba
      @podmaskoygoluba 4 года назад

      @@videostudio5387 Может, поможет, это? Internet Explorer до версии 8.0 включительно игнорирует теги , , но отображает их содержимое. Также в этом браузере любые стили не применяются к элементу, пока он не создан через скрипт, как показано в примере.
      document.createElement('figure');
      document.createElement('figcaption');
      (Источник htmlbook.ru/html/figcaption)

  • @ARlSTOTEL
    @ARlSTOTEL 3 года назад

    Клас в исходниках на гугл диске (.pictures) не совпадают в теми класами что делаешь во время урока. Ошибка в букве.
    Не критично, просто замечание для таких как я, которые будут качать исходник))
    Делал все за тобой, один в один, у меня не случилось обрезания картинок!!! У меня все отобразило как нужно! Ковер же за это должен был ответить, чтобы без обрезки (насколько я понимаю). Где-то у тебя была ошибка, но лень искать)
    Спс за урок! Бесценная инфа)
    drive.google.com/file/d/1UC-rBAftNsJYZ6EZBFJiaWXhhWkUDSCt/view?usp=sharing

  • @miksa8875
    @miksa8875 3 года назад

    трудный урок, не совсем понял

    • @andrievskii
      @andrievskii  3 года назад +1

      Просмотри. не повторяя, просто пытаясь понять. что происходит. Потом пересмотри с повторение, и в конце попробуй самостоятельно что либо с пройденного повторить.