Книга: Bootstrap: Быстрое создание современных сайтов
Быстрая адаптация сайта для мобильных устройств с помощью Bootstrap
Быстрая адаптация сайта для мобильных устройств с помощью Bootstrap
Возьмем в качестве примера простой шаблон с фиксированной шириной, с меню, боковой панелью, контентом и подвалом.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN» "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:>
<head>
<title> </title>
<meta http-equiv=«content-type» content=«application/xhtml+xml; charset=UTF-8» />
<meta name=«author» content=«» />
<meta name=«description» content=«» />
<meta name=«robots» content=«index, follow» />
<link rel=«stylesheet» type=«text/css» media=«screen» href="/file/theme/css/screen. css» />
</head>
<body>
<! – header – >
<div <div>
<a name=«top»> </a>
<h1 <a href=«#» title=«»> </a> </h1>
<p>
<div>
<ul>
<li> <a href=«»> Home </a> </li>
<li> <a href=«#»> Page1 </a>
<ul auto; overflow: auto»>
<li> <a href=«#»> Page1—1 </a> </li>
</ul>
</li>
<li> <a href=«#»> Page2 </a>
<ul auto; overflow: auto»>
<li> <a href=«#»> Page2—1 </a> </li>
<li> <a href=«#»> Page2—1 </a> </li>
</ul>
</li>
</ul>
</div>
<div>
<script>
(function () {
var cx = «»;
var gcse = document.createElement (’script’);
gcse. type = ’text/javascript’;
gcse.async = true;
gcse.src = (document.location.protocol == ’https:'? ’https:': ’http:») +
«//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName (’script’) [0];
s.parentNode.insertBefore (gcse, s);
}) ();
</script>
<gcse: search> </gcse: search>
</div>
</div>
</div>
<! – content-outer – >
<div>
<div>
<div height:15px; background: url(/file/theme/images/top.png);»>
</div>
<div>
</div>
<! – sidebar – >
<div>
<div>
<ul>
<li> <a href=«»> Home </a> </li>
<li> <a href=«#»> Page1 </a>
<ul auto; overflow: auto»>
<li> <a href=«#»> Page1—1 </a> </li>
</ul>
</li>
<li> <a href=«#»> Page2 </a>
<ul auto; overflow: auto»>
<li> <a href=«#»> Page2—1 </a> </li>
<li> <a href=«#»> Page2—1 </a> </li>
</ul>
</li>
</ul>
</div>
<! – /sidebar – > </div>
</div>
<! – /content-out – >
</div>
<! – footer-outer – >
<div>
<div>
<div float: left»>
<p> <strong> <a href=«#top»> Top </a> </strong> </p>
<p>
© 2015 <strong> </strong>
<strong E-mail: </strong>
</p>
</div>
</div>
<! – /footer-outer – >
</div>
</body>
</html>
Заменим DOCTYPE на <!DOCTYPE html>.
Атрибут lang в теге html и атрибут charset тега meta уже имеются.
В начало тега <head> добавим:
<! – Latest compiled and minified CSS – >
<link rel=«stylesheet» href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<! – jQuery library – >
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<! – Latest compiled JavaScript – >
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
В тег <head> добавим:
<meta name=«viewport» content=«width=device-width, initial-scale=1»>
Обернем заголовок в класс. container и, используя Bootstrap Grid System и Bootstrap Navigation Bar, разместим меню, логотип и форму поиска в шапке.
<div header»>
<div>
<nav navbar-inverse»>
<div>
<div>
<button type=«button» data-toggle=«collapse» data-target=«#myNavbar»>
<span </span>
<span </span>
<span </span>
</button>
</div>
<div navbar-collapse»>
<ul navbar-nav»>
<li> <a href="/"> Home </a> </li>
<li>
<a class=«dropdown-toggle» data-toggle=«dropdown» href=«#»> Page1 <span </span> </a>
<ul inverse-dropdown»>
<li> <a href=«#»> Page1—1 </a> </li>
</ul>
</li>
<li>
<a class=«dropdown-toggle» data-toggle=«dropdown» href=«#»> Page2 <span </span> </a>
<ul inverse-dropdown»>
<li> <a href=«#»> Page2—1 </a> </li>
<li> <a href=«#»> Page2—2 </a> </li>
<li> <a href=«#»> Page2—3 </a> </li>
<li> <a href=«#»> Page2—4 </a> </li>
<li> <a href=«#»> Page2—5 </a> </li>
</ul>
</li>
<li> <a href=«#»> Contacts </a> </li>
</ul>
</div>
</div>
</nav>
</div>
<a name=«top»> </a>
<div>
<div>
<h1> <a href="/"> </a> </h1>
<p> </p>
</div>
<div>
<script>
(function () {
var cx = «»;
var gcse = document.createElement (’script’);
gcse. type = ’text/javascript’;
gcse.async = true;
gcse.src = (document.location.protocol == ’https:'? ’https:': ’http:») +
'//cse.google.com/cse. js? cx=' + cx;
var s = document.getElementsByTagName (’script’) [0];
s.parentNode.insertBefore (gcse, s);
}) ();
</script>
<gcse: searchbox-only> </gcse: searchbox-only>
</div>
<style>
.gsc-search-button {
display: none;
}
.gsib_a {
height:40px;
}
.gsc-input-box {
height: 40px;
}
</style>
<div background: black;">
</div>
</div>
</div>
Уберем боковую панель и свой файл CSS, вместо него добавим CSS стили:
<style>
body {
font-size:18px;
font-famile: Georgia;
color: #000;
margin: 0;
padding: 0;
background: gray;
}
.header {
/* Permalink – use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e1ffff+0,e1ffff+4,fdffff+7,fdffff+7,e1ffff+17,e6f8fd+28,c8eefb+47,bee4f8+68,b1d8f5+100 */
background: #e1ffff; /* Old browsers */
background: -moz-linear-gradient (top, #e1ffff 0%, #e1ffff 4%, #fdffff 7%, #fdffff 7%, #e1ffff 17%, #e6f8fd 28%, #c8eefb 47%, #bee4f8 68%, #b1d8f5 100%); /* FF3.6—15 */
background: -webkit-linear-gradient (top, #e1ffff 0%,#e1ffff 4%,#fdffff 7%,#fdffff 7%,#e1ffff 17%,#e6f8fd 28%,#c8eefb 47%,#bee4f8 68%,#b1d8f5 100%); /* Chrome10—25,Safari5.1—6 */
background: linear-gradient (to bottom, #e1ffff 0%,#e1ffff 4%,#fdffff 7%,#fdffff 7%,#e1ffff 17%,#e6f8fd 28%,#c8eefb 47%,#bee4f8 68%,#b1d8f5 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient (startColorstr=«#e1ffff’, endColorstr=«#b1d8f5», GradientType=0); /* IE6—9 */
}
.inverse-dropdown {
background-color: black;
}
.inverse-dropdown li a {
color: white;
}
.inverse-dropdown li a: hover {
color: black;
}
.content {
background: lightgrey;
}
.footer {
/* Permalink – use to edit and share this gradient: http://colorzilla.com/gradient-editor/#1e5799+0,2989d8+86,207cca+93,7db9e8+100 */
background: #1e5799; /* Old browsers */
background: -moz-radial-gradient (center, ellipse cover, #1e5799 0%, #2989d8 86%, #207cca 93%, #7db9e8 100%); /* FF3.6—15 */
background: -webkit-radial-gradient (center, ellipse cover, #1e5799 0%,#2989d8 86%,#207cca 93%,#7db9e8 100%); /* Chrome10—25,Safari5.1—6 */
background: radial-gradient (ellipse at center, #1e5799 0%,#2989d8 86%,#207cca 93%,#7db9e8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient (startColorstr=«#1e5799», endColorstr=«#7db9e8», GradientType=1); /* IE6—9 fallback on horizontal gradient */
}
.navigation {
margin: 10px 20px; padding-bottom: 10px;
width: 560px;
}
.navigation a: link,
.navigation a: visited {
float: left;
display: block;
margin: 10px 10px 0 0;
padding: 5px 7px;
text-transform: lowercase;
text-decoration: none;
font-weight: bold;
color: #fff;
background: #2C76A6;
border-width: 1px;
border-style: solid;
border-color: #86BBDF #245F86 #245F86 #86BBDF;
}
.navigation a: hover {
background: #FF3399;
border-width: 1px;
border-style: solid;
border-color: #FF75BA #EA0075 #EA0075 #FF75BA;
}
</style>
Таким образом, исключим из шаблона все фоновые изображения, которые могут создавать горизонтальную прокрутку, заменим фоновые изображения на CSS градиенты.
Обернем контент и подвал в класс. container и используем Bootstrap Grid System.
<! – content-outer – >
<div content»>
<div>
<div>
<span>
<img src="/file/theme/add.jpg» alt=«» width=200/>
</span>
<div>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle. js»> </script>
<! – adds – >
</script>
</div>
</div>
</div>
<div>
<div>
<! – content – >
<p>
</p>
</div>
</div>
</div>
<! – /content-out – >
<! – footer-outer – >
<div footer»>
<p fixed; bottom: 12px; right: 5px; opacity: 1; cursor: pointer;"> <a href=«#top» white;"> Top </a> </p>
<div>
<div text-center»>
<script type=«text/javascript» src="//yandex.st/share/share. js» charset=«utf-8»> </script>
</div>
<div darkblue;»>
<div text-center»>
<br/>
<p>
© 2016 <strong> </strong>
<strong> [email protected] </strong>
</p>
</div>
</div>
</div>
<! – /footer-outer – >
- Начало работы с Bootstrap
- Bootstrap Grid System
- Тест 1 на знание Bootstrap
- Быстрая адаптация сайта для мобильных устройств с помощью Bootstrap
- Bootstrap Text/Typography
- Таблицы
- Изображения
- Bootstrap Jumbotron
- Bootstrap Page Header
- Bootstrap Wells
- Bootstrap Alerts
- Кнопки и группы кнопок
- Bootstrap Glyphicons
- Значки и метки
- Bootstrap Progress Bars
- Конец ознакомительного фрагмента.
- Содержание книги
- Популярные страницы
- Bootstrap Jumbotron
- Bootstrap Wells
- Bootstrap Glyphicons
- Bootstrap Progress Bars
- Bootstrap: Быстрое создание современных сайтов
- 1.3. Правила подключения к компьютеру внешних устройств
- Кроссбраузерность вашего сайта
- Системные вызовы и драйверы устройств
- Диспетчер устройств
- 1.4 Структуры данных, связанные с драйверами устройств Windows
- 1.5 Структура драйвера устройства Windows
- 4.9 Обеспечение взаимодействия устройств Fibre Channel