Blueprint — довольно интересный фреймворк для верстки сеткой, который я лично считаю удобным, потому как он позволяет довольно просто создавать весьма сложные страницы, при этом не думая об IE.
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
Фреймворк делит все пространство на вертикальные полосы, по умолчанию их 24, при этом контент разделяет на колонки (класс columns), которые занимают в ширину одну или несколько вертикальных полос.
Все колонки должны находиться внутри слоя с классом container
Также сразу стоит обратить внимание на довольно интересный класс showgrid, он используется во время верстки и показывает на фоне контейнера или другого элемента сетку.
К container также применимы классы cols-14,cols-15...cols-23, которые указывают количество столбцов, т.е. ширину страницы (24 столбца, как я уже говорил установятся по умолчанию).
Разберемся теперь с колонками:
Как видим, колонки обозначаются классом column. Классы span-1,span-2...span-24 используются для обозначения ширины в столбцах. Класс last означает, что колонка не будет дополнятся справа следующим элементом.
В итоге мы получили столбец на всю ширину страницы с заголовком. Теперь немного его усложним, пусть справа тоже будет какая-нибудь информация:
Теперь у нас заголовок разделен на две части. Класс heading я добавил для того чтобы в css можно было задать фон для всего заголовка:
При помощи классов prepend-x и append-x мы можем дополнять колонку пустыми столбцами слева и справа соответственно (где x — кол-во столбцов).
Например, сделаем чтобы в колонке заголовка был отступ слева в 4 столбца:
Следует обратить внимание, что сумма ширин столбцов не должна превышать ширины контейнера, при этом prepend и append тоже входят в ширину!
Теперь сделаем страницу с меню слева и справа, контентом в две колонки и подвалом:
Я использовал класс clear у тега hr для того чтобы создать широкую полосу разрыва. Класс colborder который я передаю диву с левой половиной контента добавляет толстую (целый столбец) разделительную полосу справа от колонки. Также есть border — просто линия справа.
Классы push-1...push-4 и pull-1...pull-4 позволяют вталкивать текущий столбец в следующий (push) и и наоборот, оттягивать в предыдущий(pull).
В следующий раз поговорим о типографских классах Blueprint и класах для оформления форм.
Примеры от авторов:
P.S. На хабре уже поднималась тема верстки сеткой.
Со страницы проекта на Google Code скачиваем архив.
В архиве будет папка blueprint/ там и содержатся основные файлы фреймворка, их и подключаем к странице:
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection">
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print">
<!--[if IE]><link rel="stylesheet" href="css/blueprint/ie.css" type="text/css" media="screen, projection"><![endif]-->
Фреймворк делит все пространство на вертикальные полосы, по умолчанию их 24, при этом контент разделяет на колонки (класс columns), которые занимают в ширину одну или несколько вертикальных полос.
Все колонки должны находиться внутри слоя с классом container
<div class="container showgrid">
</div>
Также сразу стоит обратить внимание на довольно интересный класс showgrid, он используется во время верстки и показывает на фоне контейнера или другого элемента сетку.
К container также применимы классы cols-14,cols-15...cols-23, которые указывают количество столбцов, т.е. ширину страницы (24 столбца, как я уже говорил установятся по умолчанию).
Разберемся теперь с колонками:
<div class="container showgrid">
<div class="column span-24 last">
<h1>Заголовок</h1>
</div>
</div>
Как видим, колонки обозначаются классом column. Классы span-1,span-2...span-24 используются для обозначения ширины в столбцах. Класс last означает, что колонка не будет дополнятся справа следующим элементом.
В итоге мы получили столбец на всю ширину страницы с заголовком. Теперь немного его усложним, пусть справа тоже будет какая-нибудь информация:
<div class="container showgrid">
<div class="heading container">
<div class="column span-20">
<h1>Заголовок</h1>
</div>
<div class="column span-4 last">
<p>Что-то</p>
</div>
</div>
...
</div>
Теперь у нас заголовок разделен на две части. Класс heading я добавил для того чтобы в css можно было задать фон для всего заголовка:
.heading
{
background:#88D;
padding-top:10px;
}
При помощи классов prepend-x и append-x мы можем дополнять колонку пустыми столбцами слева и справа соответственно (где x — кол-во столбцов).
Например, сделаем чтобы в колонке заголовка был отступ слева в 4 столбца:
<div class="container">
<div class="heading container">
<div class="prepend-4 column span-16">
<h1>Заголовок</h1>
</div>
<div class="column span-4 last">
<p>Что-то</p>
</div>
</div>
</div>
Следует обратить внимание, что сумма ширин столбцов не должна превышать ширины контейнера, при этом prepend и append тоже входят в ширину!
Теперь сделаем страницу с меню слева и справа, контентом в две колонки и подвалом:
<body>
<div class="container">
<div class="heading container">
<div class="prepend-4 column span-16">
<h1>Заголовок</h1>
</div>
<div class="column span-4 last">
<p>Что-то</p>
</div>
</div>
<hr class="space"/>
<div id="view">
<div class="vp container">
<div class="menu prepend-1 column span-3">
<h3>Меню</h3>
<ul>
<li>Пункт1</li>
<li>Пункт2</li>
<li>Пункт3</li>
<li>Пункт4</li>
</ul>
</div>
<div class="content column span-16">
<h2>Content</h2>
<div class="prepend-1 span-6 colborder">
<p>Lorus...</p>
</div>
<div class="span-7"><p>Ipsium...</p></div>
</div>
<div class="menu2 prepend-1 column span-3 last">
<h3>Меню2</h3>
<ul>
<li>Пункт5</li>
<li>Пункт6</li>
<li>Пункт7</li>
<li>Пункт8</li>
</ul>
</div>
</div>
</div>
<hr class="clear"/>
<div class="span-24 prepend-1 column last">
Подвал
</div>
</div>
</body>
Я использовал класс clear у тега hr для того чтобы создать широкую полосу разрыва. Класс colborder который я передаю диву с левой половиной контента добавляет толстую (целый столбец) разделительную полосу справа от колонки. Также есть border — просто линия справа.
Классы push-1...push-4 и pull-1...pull-4 позволяют вталкивать текущий столбец в следующий (push) и и наоборот, оттягивать в предыдущий(pull).
В следующий раз поговорим о типографских классах Blueprint и класах для оформления форм.
Примеры от авторов:
- files.bjorkoy.com/blueprint/tests/parts/sample.html
- files.bjorkoy.com/blueprint/tests/parts/grid.html
- files.bjorkoy.com/blueprint/tests/parts/elements.html
P.S. На хабре уже поднималась тема верстки сеткой.