Bootstrap Example

HTML-импорт — include для веба: часть 1

Перевод статьи «HTML Imports #include for the web», Eric Bidelman.

От переводчика

Недавно я перевел статью по основам HTML Import. Я обещал, что если эта тема заинтересует хабра-сообщество, то переведу более подробную статью. Я решил разбить перевод на две одинаковые по размеру части, так как, по моему, на одну часть слишком много буков. Вторая часть выйдет спустя несколько дней после публикации этой части. Если, конечно, эта часть более-менее понравится хабра-сообществу.

Для чего нужен HTML-импорт?

Начало работы

В наборе стандартов Web Components есть стандарт HTML Imports, который позволяет подключение HTML-документов друг в друга. В подключаемых HTML-документах разрешается Javascript и CSS, словом, все что .html обычно содержит. Это замечательный инструмент для загрузки пакетов HTML/CSS/JS кода.

Основы

Указанный URL, это расположение импорта(import location). Чтобы использовать импорт с другого домена, его расположение должно позволять междоменное разделение ресурсов(CORS):

Примечание: браузеры игнорируют повторные запросы на один и тот же URL. Это значит, что из одного адреса будет выполнена только одна загрузка сколько бы ни было подключений на странице

Читайте также:  min-height
Проверка на поддержку браузером
function supportsImports() < return 'import' in document.createElement('link'); >if (supportsImports()) < // Good to go! >else < // Use other libraries/require systems to load files. >

Браузерная поддержка пока на ранней стадии(прим. переводчика: оригинал статьи опубликован 11 ноября 2013, теперь, наверное, другая ситуация с поддержкой). Chrome 31 первый браузер поддерживающий HTML-импорт. Chrome 36 обновлен до последней спецификации этой фичи. Вы можете включить поддержку импорта, отметив флаг «Включить экспериментальные функции веб-платформы» по адресу

в Chrome Canary. Для других браузеров это пока не работает.

Примечание: Включение экспериментальных функций позволит использовать и другие полезные фичи веб-компонентов

Бандлинг ресурсов

HTML-импорт позволяет собирать пакеты HTML/CSS/JS кода, которые в свою очередь могут использовать другие пакеты. Этот простой, но мощный функционал, может пригодиться, если вы хотите импортированием одного ресурса предоставить другим программистам какую-то библиотеку или набор стилей. Также это полезно для поддержки модульности вашего приложения. Вы даже можете отдавать на импорт целые приложения. Только подумайте, чего можно добиться таким образом.

Вы сможете экспортировать целые пакеты веб содержимого всего одной линкой.

Bootstrap это хороший пример того, как мог бы пригодиться импорт компонентов. Бутстрап состоит из различных файлов (bootstrap.css, bootstrap.js и др.), использует JQuery (как импортируемый компонент), а в результате выдает инструменты для верстки. Разработчикам нравится возможность подключать те или иные модули, по мере необходимости. Но обычно мы идем простым путем, подключая все модули бутстрапа сразу.

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

Нужно всего лишь добавить один линк импорта. Больше не нужно подключать кучу файлов, вместо этого весь Bootstrap завернут в файл bootstrap.html:

События load/error

Импорт всегда загружается сразу же, в порядке нахождения тега

 function handleLoad(e) < console.log('Loaded import: ' + e.target.href); >function handleError(e)

Примечание: обработчики событий загрузки/ошибки нужно объявлять перед импортом, так как браузер загружает импорт в тот момент, когда встречает тег импорта. Если на момент импорта нет обработчика загрузки, в консоли выведется ошибка undefined function.

Вы, также, можете динамически создавать импорт:

var link = document.createElement('link'); link.rel = 'import'; link.href = 'file.html' link.onload = function(e) ; link.onerror = function(e) ; document.head.appendChild(link); 

Использование содержимого импорта

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

Вот он момент прозрения, импорт, это всего-лишь документ. На самом деле, содержимое импорта так и называется документ импорта(import document). А использовать результат импорта вы можете стандартными средствами DOM API!

link.import
var content = document.querySelector('link[rel="import"]').import; 
  • Браузер не поддерживает импорт.
  • У элемента нет атрибута rel=»import» .
    Объект не добавлен в DOM.
    Или был удален из DOM
    Ресурс не поддерживает CORS.

Полный пример

Допустим у нас есть страница warnings.html :

 
h3

Warning!

This page is under construction

Heads up!

This content may be out of date

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

  .   

Скрипты в импорте

Импорт работает не совсем, как часть документа, который его использует. Но вы, все же, можете работать с подключившей его страницей. Из импортированной страницы можно работать, как с внутренним DOM, так и с главным документом:

Пример — import.html добавляет один из своих стилей главному документу

   /* Примечание: Внутренние стили, по умолчанию применяются к импортирующему документу. Их не нужно явно добавлять в главную страницу. */ #somecontainer .  
document.currentScript.ownerDocument

мы получаем доступ к внутреннему элементу-корню импортированного документа и добавляем его кусок в главный документ (

). Это конечно бесполезный код, но нам он нужен, чтобы понять, что мы можем обращаться как к главному, так и ко внутреннему корню DOM.

Скрипты внутри импорта могут как сами исполнять код, так и предоставлять функции для выполнения в главном документе. Это похоже на модули в Питоне.

  • Код импорта выполняется в контексте содержащего его документа. Из этого исходят две удобные вещи:
    • Функции объявленные в импорте содержатся в главном объекте window .
    • Вам не нужно делать действий вроде добавления в главный документ тегов

    Источник

    How to Include Bootstrap into HTML: A Complete Guide for Front-End Development

    Learn how to easily include Bootstrap into your HTML project for faster and easier front-end development. This guide covers methods, plugins, icons, and helpful tips.

    • Methods to include Bootstrap in HTML
    • Enabling and configuring Bootstrap plugins with data attributes
    • How to Link Bootstrap to HTML page
    • Including Bootstrap Icons in HTML
    • Creating web pages with Bootstrap and HTML
    • Helpful tips and information for front-end development
    • Additional code samples that can be helpful for including Bootstrap in HTML
    • Conclusion
    • How to include Bootstrap file in HTML?
    • How to include Bootstrap 5 in HTML?
    • How to include Bootstrap icons in HTML?
    • How to link offline Bootstrap in HTML?

    Bootstrap is a popular free and open-source front-end framework for web development that includes CSS and HTML- based design templates for forms, typography, and more. It is widely used by developers across the world due to its ease of use and responsive design features. In this blog post, we will guide you on how to include Bootstrap into HTML and provide helpful tips and information for front-end development.

    Methods to include Bootstrap in HTML

    Bootstrap can be included in HTML via CDN, local download , or package managers such as npm, RubyGems, or Composer. Using the CDN is the easiest way to get started with Bootstrap. To link Bootstrap to an HTML file, you must include a stylesheet inside the tag of your HTML template. Here is an example:

             

    Hello, world!

    You can also include Bootstrap’s source Sass and JavaScript files via npm, RubyGems, Composer, or Meteor. This method is useful if you want to modify the Bootstrap source files or use a custom build of bootstrap .

    Enabling and configuring Bootstrap plugins with data attributes

    Nearly all Bootstrap plugins can be enabled and configured through HTML alone with data attributes. You can use data attributes to enable and configure Bootstrap plugins , such as adding tooltips, modals, and more. Here is an example:

      
    Modal body text goes here.

    Close

You can also customize the behavior of Bootstrap plugins by setting options in data attributes. For example, you can change the placement of a tooltip by setting the data-placement attribute:

How to Link Bootstrap to HTML page | How to use Bootstrap with HTML — Bootstrap Tutorial Duration: 5:28

Including Bootstrap Icons in HTML

You can include Bootstrap icons in HTML by including the Bootstrap Icons font stylesheet in the of your website or importing it via CSS. Bootstrap Icons provides a library of scalable vector icons that can be easily customized and styled. You can use Bootstrap Icons to add icons to buttons, forms, and other design elements. Here is an example:

          

Hello, world!

Creating web pages with Bootstrap and HTML

You can use a basic HTML template provided by Bootstrap or modify their examples to create your first web page with Bootstrap. You should link the downloaded CSS and jQuery files under the head tag of the HTML file. Bootstrap is dependent on jQuery and Popper, which are defined as peerDependencies. Here is an example:

Helpful tips and information for front-end development

Bootstrap is a popular choice for front-end development due to its pre-built responsive classes and other utilities. Bootstrap allows for faster and easier web development . Bootstrap is mobile-first and designed to be responsive to various devices. Bootstrap requires the HTML5 doctype and a containing element to wrap site content. You can find more front-end development tutorials on CSS, HTML, JavaScript, and jQuery.

Additional code samples that can be helpful for including Bootstrap in HTML

In Html case in point, reference bootstrap in html code example

In Css , in particular, include bootstrap and js in html code example

       

Hello, world!

Conclusion

Bootstrap is a powerful and widely-used framework for front-end web development that includes CSS and HTML-based design templates for forms, typography, and more. There are various ways to include bootstrap in html , including via CDN, local download, or package managers. You can enable and configure bootstrap plugins with data attributes and include Bootstrap Icons in HTML. By following the tips and information provided in this blog post, you can create responsive and professional web pages with Bootstrap and HTML.

Источник

Оцените статью