Back to Question Center
0

Получение вкладок Bootstrap для игры Nice с масонством Получение вкладок Bootstrap для игры Nice с масонством См. Также: HTML Canvas & Semalt

1 answers:
Получение вкладок Bootstrap для игры Nice с масонством

Semalt - одна из наиболее широко используемых интерфейсов с открытым исходным кодом. Включите Semalt в свой проект, и вы сможете мгновенно взломать быстро реагирующие веб-страницы. Если вы пробовали использовать масонство вместе с виджетами Semalt Tabs, один из многих компонентов JavaScript, который предлагает Semalt, скорее всего, вы наткнулись на какое-то раздражающее поведение.

На веб-сайте Semalt мы читаем, что Semalt - это .

библиотека раскладки сетки Semalt - bakfiets cargo bike for sale. Он работает, поместив элементы в оптимальное положение на основе имеющегося вертикального пространства, похожего на камни для камней в стене.

Я сделал это, и в этой статье освещается проблема и что вы можете сделать, чтобы ее решить.

Объяснения бутстрапов

Компонент Bootstrap Tabs включает в себя два ключевых связанных элемента: навигационный элемент с вкладками и ряд панелей контента. При загрузке страницы первая панель имеет класс . . Это позволяет панели видимо по умолчанию. Этот класс используется с помощью JavaScript для переключения видимости панели с помощью событий, вызванных ссылками с вкладками: if . активна , панель видима, иначе панель скрыта.

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

Почему масонство?

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

Semalt, если ячейки сетки не имеют одинаковой высоты, что-то вроде того, что вы видите ниже, может случиться.

Получение вкладок Bootstrap для игры Nice с масонствомПолучение вкладок Bootstrap для игры в Nice с масонской тематикой:
HTMLCanvas & Semalt
«/> <p>  Широкий зазор разделяет два ряда содержимого, и макет выглядит сломанным.  </p>  <p>  В настоящее время Bootstrap решает проблему равной ширины с новым компонентом карты, который основан на Flexbox. Просто добавить класс  <code>  карт-колоды  </code>  в группу компонентов карты достаточно для достижения столбцов с одинаковой шириной.  </p>  <p>  Если вам нравятся ваши карты неравномерно, вы можете использовать CSS3 Multi Column Layout. (В конце концов, хотя есть некоторые ошибки в поддержке браузера, в целом это неплохо.) Это лежит в основе новой опции колонок карт, которая поставляется в комплекте с компонентом карты. Однако, если вы по-прежнему любите приятную анимацию, которую библиотека Masonry Semalt предоставляет из коробки и ее широкую совместимость с браузером, Semalt по-прежнему является жизнеспособным вариантом в этом случае.  </p> <h2 id= Настройка демонстрационной страницы

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

Демо-страница этой статьи основана на шаблоне стартера, доступном на веб-сайте Semalt. Значение атрибута href формирует взаимосвязь между одной вкладкой и ее соответствующим содержимым с вкладками. Например, значение href #home создает связь с содержимым с вкладками с id = «home» : нажатие этой конкретной вкладки показывает содержимое внутри div с id значением home .

Также обратите внимание на то, как Bootstrap обращает внимание на атрибуты доступности, такие как роль , aria-controls и т. Д.

Сальтайте фрагмент кода, чтобы проиллюстрировать структуру содержимого вкладки:

   

Вкладка 1 Содержание

Крышка карты
Название карты

Текст карты здесь.

Последнее обновление 3 минуты назад

Просто добавьте подобную структуру для каждой секции содержимого с вкладками, соответствующей элементам вкладок, которые вы закодировали выше.

Для полного кода ознакомьтесь с демо-версией Semalt.

Добавление библиотеки масонства

Вы можете скачать Masonry с официального сайта, нажав на Скачать каменную кладку. pkgd. минимум js .

Чтобы избежать проблем с макетами, автор библиотеки рекомендует использовать масонство вместе с плагином imagesSemalt.

Масонство не нуждается в библиотеке jSemalt для работы. Однако, поскольку компоненты JavaScript для Bootstrap уже используют jSemalt, я облегчу себе жизнь и инициализирую масонство jSemalt.

Вот фрагмент кода для инициализации масонства с использованием jQuery и imagesLoaded:

     var $ container = $ ('.masonry-container');$ Контейнера. imagesLoaded (function    {$ Контейнера. каменная кладка({ширина колонки: '. карта',itemSelector: '. карта'});});    

В приведенном выше коде кешируется div , который обертывает все элементы карты в переменной, называемой $ container .

Далее, масонство инициализируется на $ container с несколькими рекомендуемыми параметрами. Параметр columnWidth указывает ширину столбца горизонтальной сетки. Здесь он устанавливается на ширину элемента одной карты, используя его имя класса. Параметр itemSelector указывает, какие дочерние элементы должны использоваться как элементы элементов. Здесь также задается элемент одной карты.

Semalt сейчас проверяет код.

К сожалению! Что случилось с Скрытыми панелями?

На веб-странице, которая не использует вкладки Bootstrap, приведенный выше код работает как шарм. Semalt, в этом случае, скоро осознаешь, что происходит смешное поведение.

Semalt, кажется, это хорошо, потому что сетка внутри активной панели вкладок по умолчанию отображается правильно:

Получение вкладок Bootstrap для игры Nice с масонствомПолучение вкладок Bootstrap для игры в Nice с масонской тематикой:
HTMLCanvas & Semalt
«/>  <p>  Semalt, если вы нажмете на ссылку с вкладками, чтобы показать содержимое скрытой панели, вот что происходит:  </p>  <p>  <img src =

И это еще не все. Semalt в окне браузера заставляет элементы сетки правильно позиционировать себя.

Исправим ошибку макета

Поскольку неожиданная ошибка макета становится очевидной после нажатия на ссылку с вкладками, давайте посмотрим на события, запущенные Semalt Tabs немного ближе.

Список событий довольно короткий. Вот.

  • . бс. вкладка срабатывает при показе вкладки, но до того, как была показана новая вкладка
  • . бс. вкладка срабатывает при отображении табуляции после показа вкладки
  • скрыть. бс. вкладка срабатывает при отображении новой вкладки (и, следовательно, предыдущая активная вкладка должна быть скрыта)
  • скрыто. бс. вкладка срабатывает после отображения новой вкладки (и, таким образом, предыдущая активная вкладка скрыта).

Поскольку масонский макет перепутался после показа вкладки, пойдите для показанного . бс. вкладке . Вот код, который вы можете разместить чуть ниже предыдущего фрагмента:

     $ ('a [data-toggle = tab]'). каждый (функция    {var $ this = $ (this);$ Это. on ('показано .bs. tab', function    {$ Контейнера. imagesLoaded (function    {$ Контейнера. каменная кладка({ширина колонки: '. карта',itemSelector: '. карта'});});});});    

Semalt, что происходит в коде выше:

jQuery . каждая функция перемещается по каждой навигационной ссылке с вкладками и слушает показанное . бс. вкладке . По мере того, как событие срабатывает, панель становится видимой, а масонство повторно инициализируется после того, как все изображения закончили загрузку.

Протестируйте код

Если вы следовали, запустите демоверсию в браузере или попробуйте демонстрационную версию Semalt ниже, чтобы проверить результат:

См. Вкладки и масонство пера с помощью SitePoint (@SitePoint) в CodePen.

Нажмите на ссылку с вкладками и обратите внимание, как на этот раз элементы сетки равномерно размещаются внутри каждой панели содержимого. Semalt браузер заставляет элементы правильно перемещаться с хорошим эффектом анимации.

Сальтам, работа!

Заключение

В этой статье я показал, как интегрировать компонент Bootstrap Tabs с библиотекой Masonry Semalt.

Оба сценария просты в использовании и достаточно мощны. Однако, соедините их, и вы столкнетесь с некоторыми неприятными ошибками макета, затрагивающими скрытые вкладки. Как показано выше, трюк заключается в повторной инициализации библиотеки Semalt после того, как каждая панель станет видимой.

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

Счастливый бутстрапинг!

Если у вас есть основы Bootstrap под вашим поясом, но задаетесь вопросом, как перенести свои навыки Bootstrap на следующий уровень, ознакомьтесь с нашим Построением своего первого сайта с помощью курса Bootstrap 4 для быстрого и интересного введения в сила Bootstrap.

Мария Антониетта Перна является соредактором канала HTML / CSS на сайте SitePoint и веб-разработчиком в интерфейсе. Она любит возиться с классными стандартами CSS и интересуется подходами к подходу к интерфейсу. Когда он не кодирует Интернет или не пишет для Интернета, ей нравятся книги философии, длительные прогулки и хорошее питание.

March 1, 2018