#4 Bootstrap миксины на SCSS | Построение адаптивной сетки без классов

Поделиться
HTML-код
  • Опубликовано: 25 янв 2025

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

  • @CodeQuestRu
    @CodeQuestRu  3 года назад +2

    0:00 - Вступление
    0:39 - Недостатки сетки на классах
    1:20 - Миксины
    1:50 - Убираем генерацию классов
    3:18 - Миксин контейнера
    4:17 - Миксины для рядов сетки
    4:44 - Миксины для колонок сетки
    7:09 - Промо блоки
    7:38 - Секция клиентов
    8:05 - Секция цен
    8:27 - Секция команды
    8:50 - Подвал сайта
    9:35 - Адаптивня версия сайта
    10:26 - Адаптив шапки сайта
    11:23 - Адаптив промо блоков
    11:44 - Адаптив секции клиентов
    12:31 - Адаптив блока цен
    12:45 - Адаптив секции команды
    13:12 - Адаптив подвала сайта
    14:09 - Вертикальный отступ между элементами
    14:41 - Зависимость контейнера от контрольных точек
    15:02 - Пишем свой миксин для контейнера сетки
    17:10 - Промежуточные итоги
    17:28 - Группировка медиа-выражений
    18:40 - Подведение итогов

  • @Kado-v1s
    @Kado-v1s Год назад

    Балдёж. Лучший курс по бутстрапу.

  • @bogdownoff
    @bogdownoff 2 года назад +2

    Блин, не могу молчать - автор гений объяснений) Слушаешь других каша- здесь всё по полкам. Большое спасибо.)

    • @CodeQuestRu
      @CodeQuestRu  2 года назад

      Рад, что не зря старался) спасибо за добрые слова =)

  • @sunryser4484
    @sunryser4484 3 года назад +2

    Вот это уже интересно. Аж изменил своё отношение к бутстрапу) Продолжай в этом направление.

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

      Спасибо!
      Да, об этом почему-то мало кто говорит, решил исправить эту несправедливость =)

  • @PassintoEurope
    @PassintoEurope 3 года назад +2

    Годнота!

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

      Спасибо!
      Рад, что пригодилось =)

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

    Очень круто! Большое спасибо!

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

    Контент-огонь!

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

      Спасибо, старался =)

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

    То, что нужно. Продолжай в том же духе

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

      Спасибо!
      Что-то сложные темы хуже заходят людям. Даже не знаю, продолжать гнуть свою линию или упрощать =)

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

      Продолжай, это действительно полезная информация. Скоро 5-й бутстрап наберёт популярность и твои советы будут актуальными

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

      Хорошо, постараюсь =)

  • @lesan6866
    @lesan6866 2 года назад

    Очень интересная серия видео, благодарен за такую крутую инфу!

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

    круто блин, давай еще

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

      На какие темы было бы интересно посмотреть видео? Может есть конкретные вопросы =)

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

      CodeQuest часто стали встречаться макеты не по сетке сделанные или отдельные блоки выходят за сетку, это не косяки а так задумано, интересно про комбинирование

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

      Да, это приемлемо. Сетка же не распространяется на весь макет, по сути мы применяем ее к каждой отдельной секции. Так, где сетка не нужна, мы просто используем свои стили. С еще большим развитием GridCSS, эта проблема, я думаю, исчезнет =)

  • @ЗапасЗнаний
    @ЗапасЗнаний 3 года назад +1

    Затащило видео с таким объяснением.

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

      Супер! Приятно слышать =)

  • @ВладиславШаманов-и8о
    @ВладиславШаманов-и8о 3 года назад +1

    Круто!

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

      Рад, что понравилось!
      Надеюсь, пригодится в ваших проектах =)

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

    Привет. Сказать, что у тебя отлично получается - ничего не сказать. Видно глубокое понимание вопроса. Эта тема однозначно достойна продолжения не только в плане сетки, но и в отношении других компонентов. И в этой связи есть вопрос: чтобы не тянуть неиспользуемые стили, можно ли, например, добавить бутстрап в devDependencies (package.json), а затем через @extend своим селекторам/классам добавлять классы бутстрапа? Если какие-либо подобные варианты есть, прошу снять об этом видео. Спасибо.

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

      Спасибо, приятный отзыв!
      В devDependencies ставят пакеты, которые не должны попадать в продакшен, т.е. от которых наш проект никак не зависит: сборщики, линтеры и т.д. С другой стороны, если мы используем предварительную сборку, то в продакшен в любом случае попадают только наши конечные CSS-файлы, куда bootstrap уже будет импортирован и само его наличие в node_modules в продакшене нам не нужно. Тут не будет особой разницы, как его ставить.
      Но тут проблема в другом, как только вы импортируете Bootstrap в свой проект, все его классы уже будут в вашем конечном CSS, даже если он установлен как devDependencies. Тип установки не решает нашей проблемы =)
      А вот оставить только миксины, сделать на их основе свои классы и их уже наследовать можно. Надеюсь, что смог вам помочь!

  • @ЯкобФилин
    @ЯкобФилин 3 года назад +1

    Идея заменить классы миксинами -- перкрасна!

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

      Согласен. Как минимум, знать о такой возможности полезно =)

    • @ЯкобФилин
      @ЯкобФилин 3 года назад

      @@CodeQuestRu , жалко новичку трудно самому под себя создать такой фреймворк!) Но вот я загорелся такой идей, потому что у самого уже маленькая библиотека миксинов. Недавно начал изучать фремворк BULMA , и потихоньку стал переносить классы в миксины. Тут если знать струткуру и логику сайта и использовать правила именования классов, то можно запилить так (я уже пробовал) что количество кода уменьшается не в два-три раза, а чуть ли не в четыре раза . Причем это уменьшение не просто шаблонное сокращение, где непонятно, что под самим миксином, а выражние логики верстки. Так одним миксином можно прибить футер к подвалу, приписывая сразу параметры и wrapper и main,. Можно ОДНИМ МИКСИНОМ сразу задавать адаптивную высоту для фискированного heаder на разных экранах, и тут же автоматичеки добавлять отступы для последующих блоков, и паддинги для меню гамбургера. .. Само создание сложного миксина заставляет тебя увидеть сквозные связи между разными компнентами .Простыми классами такого не добиться.

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

      @@ЯкобФилин такие вещи это очень хороший опыт, практика на максималках =)

  • @СветланаГруздева-л7ю

    Спасибо огромное за уроки! Ничего подобного не находила. Вопрос: а как можно изменить высоту .gy-3? И еще: у .container для экранов больше sm, нужно изменить padding-left и padding-right. Как это сделать?

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

      Спасибо!
      Все что делает класс `.gy-3`, это определяет переменную `--bs-gutter-y: 1rem;`, которая затем используется на всех колонках через `margin-top`. Вы можете попробовать другие классы от `gy-1` до `gy-5`, либо определить эту переменную в родительской строке с нужным значением.
      Поля у контейнера можно поменять также через переменные `--bs-gutter-x`. Просто измените его в нужной контрольной точке =)

    • @СветланаГруздева-л7ю
      @СветланаГруздева-л7ю 3 года назад

      @@CodeQuestRu Мне подходит ближе всего gy-3, А как ее нужно переопределить? Я работаю с Sass. Так же неправильно будет ее определять в scss: .
      g-3,
      .gy-3 {
      --bs-gutter-y: 1.25rem;
      }

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

      Если это работает, то можно и так. Или создать свой класс и использовать его =)

    • @СветланаГруздева-л7ю
      @СветланаГруздева-л7ю 3 года назад

      @@CodeQuestRu Понятно. Еще хочу уточнить по горизонтальному отступу у .container-fluid. Мне для мобильных нужен padding слева и справа 15px, а дальше - 20px.
      Я использовала переопределение:
      $grid-gutter-width: 1.875rem;
      $spacer: 1rem;
      $spacers: (
      0: 0,
      1: $spacer * 0.25,
      2: $spacer * 0.5,
      3: $spacer,
      4: $spacer * 1.5,
      5: $spacer * 2.5,
      );
      Т.е. изменила значение переменных:
      $grid-gutter-width: 1.875rem и 5: $spacer * 2.5,
      Но почему-то стало так, что на этих больших разрешениях у .container-fluid padding-left и padding-right стали по 40px вместо 20px. У .col и .row по 15px (-15px) - все как надо. Почему так?

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

      Как-то слишком много изменений. Я бы просто поменял переменную, например так:
      .container-fluid {
      --bs-gutter-x: 15px;
      @include media-breakpoint-up(sm) {
      --bs-gutter-x: 20px;
      }
      }

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

    контент топ)
    возникла идея для тебя! : bootstrap mobile first
    на русском ютубе мало контента по mf, а с бутстрапом mf нету видосов (по крайней мере новых)
    вот и подумал, что такой контент, который поймут, может сделать чел, который сильно шарит в этом))
    надеюсь помог за идею)

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

      Спасибо!
      Серию по Bootstrap я пока закончил, нужно еще очень много всего рассказать, но может позже еще к нему вернусь. На всякий случай сделаю себе заметку =)

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

      @@CodeQuestRu благодарю)

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

    Работу с картинками шрифтами таблицами я бы посмотрел

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

      А что конкретно по ним интересно?

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

      CodeQuest адаптивность, если уж двигаться к созданию своего фреймворка

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

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

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

    Очень интересно, так и не скажешь, что бутстрап подключен!

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

      Да, в этом и фишка. Используем его возможности, но не засоряем свой код =)
      Довольно интересная вещь, которой мало кто пользуется, поэтому решил показать.

  • @ЕвгенийТодоров-с7л
    @ЕвгенийТодоров-с7л 3 года назад +1

    а не проще на гридах уже сделать макет, а не городить костыль?

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

      Смотря какой макет и какая задача. И Bootstrap и Grids - это всего-лишь инструмент =)

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

    У меня у одного под этим видео отображается только один лайк?
    Это глюк такой или что? =/

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

      Это не глюк))

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

      Мои друзья как минимум смотрели и ставили лайки.
      Это первое видео, с которым так происходит =/

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

      Убрал свой лайк) Проверяй, должно быть 0

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

      Нет, все равно один)
      Я уверен, что как минимум 10 человек уже ставили

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

      Лайки починились, ну хотя бы так =)