Книга: 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>

&copy; 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>

&nbsp;

</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>

&copy; 2016 <strong> </strong>

<strong> [email protected] </strong>

</p>

</div>

</div>

</div>

<! – /footer-outer – >

Оглавление книги


Генерация: 2.999. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз