Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core
Bootstrap представляет собой css-фреймворк для создания адаптивных веб-приложений. Проект Bootstrap изначально был создан и развивался разработчиками из Twitter для собственных нужд, однако затем вышел за границы твиттера и в настоящее время развивается как open source-проект и является одним из самых популярных фреймворков для создания веб-приложений. Что в принципе и неудивительно: в настоящее время все растет количество пользователей мобильного интернета, все больше людей для веб-серфинга используют смартфоны, планшеты. Что в итоге привело к увеличению числа сайтов с адаптивным дизайном и соответственно к увеличению популярности средств для разработки подобных сайтов, в том числе фреймворка Bootstrap.
Проекты ASP.NET MVC 5 по умолчанию уже содержат все необходимые файлы Bootstrap:
Функциональность Bootstrap заключена в файле стилей bootstrap.css и скрипте bootstrap.js. И если мы откроем мастер-страницу _Layout.cshtml, которая идет по умолчанию в проекте, то мы увидим подключение соответствующих библиотек:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>@ViewBag.Title - My ASP.NET Application</title> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> @Html.ActionLink("Application name", "Index", "Home", null, new { @class = "navbar-brand" }) </div> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li>@Html.ActionLink("Home", "Index", "Home")</li> <li>@Html.ActionLink("About", "About", "Home")</li> <li>@Html.ActionLink("Contact", "Contact", "Home")</li> </ul> </div> </div> </div> <div class="container body-content"> @RenderBody() <hr /> <footer> <p>© @DateTime.Now.Year - My ASP.NET Application</p> </footer> </div> @Scripts.Render("~/bundles/jquery") @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false) </body> </html>
Выражение @Styles.Render("~/Content/css")
подключает необходимые стили, в том числе и bootstrap, а выражение @Scripts.Render("~/bundles/bootstrap")
подключает скрипт bootstrap. Мы можем это увидеть, открыв файле BundleConfig.cs:
bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( "~/Scripts/bootstrap.js", "~/Scripts/respond.js")); bundles.Add(new StyleBundle("~/Content/css").Include( "~/Content/bootstrap.css", "~/Content/site.css"));
Также на мастер-странице мы можем увидеть использование таких классов css, как navbar, navbar-inverse, navbar-fixed-top и т.д. - все это классы bootstrap, которые позволяют адаптировать интерфейс страницы к различным устройствам. Например, запустим страницу в веб-браузере на ПК:
И если мы также запустим данное приложение на мобильном телефоне или эмуляторе, то мы увидим, что интерфейс по прежнему выглядит довольно неплохо:
Собственно в этом и преимущество использования Bootstrap. Основой для адаптивного дизайна стали правила media queries, которые описывают стилевые свойства элементов для различных разрешений экрана. С точки зрения разработчиков Bootstrap все устройства можно поделить на следующие группы:
Очень маленькие, ширина экрана которых меньше 768 пикселей
Небольшие - их ширина от 768 пикселей и выше
Средние с шириной от 992 пикселя и выше
И большие с шириной от 1200 пикселей и выше
Это деление мы можем увидеть, если откроем файл bootstrap.css и найдем там правила media, например:
@media (min-width: 768px) { .................... }
А теперь рассмотрим некоторые классы данного фреймворка.