Я працюю над нашим проектом на практиці, виходячи з типової макету колонок. Прежде чем я продемонструю проект живим та в кольорі, я хочу конкретно показати вам, як ви можете реалізувати такі макети колонок. Основний акцент буде зроблено на двох та трьохколоночних макетах, оскільки вони все ще є основою більшості веб-сайтів.
Провідника та вміст добре відомий як класика веб-дизайну. Зазвичай в лівій області вікна представлене меню навігації, тоді як у правому стовпці ви бачите сам контент. У контексті блогів ця поведінка трохи змінилася. Фактично, у багатьох блогах праворуч відображається навігація або реклама, тоді як ліворуч представлений сам вміст.
Такі застосування можна реалізувати досить просто з допомогою CSS. Фактично, двоколоночні макети є найпростішою формою розміщення.
У наступному прикладі я покажу двоколоночний макет, який використовує відносні відсоткові значення.
Ось повний приклад:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#nav {
position: absolute;
left: 0;
margin: 0;
width: 20%;
background-color:#66CCCC;
}
#main {
margin: 0;
margin-left: 20%;
width: 80%;
background-color:#6666CC;
}
</style>
</head>
<body>
<div id="header">Макет із абсолютним розміщенням</div>
<div id="nav">Навігація</div>
<div id="main">Це область вмісту</div>
<div id="footer">Тут розміщені дані про авторські права.</div>
</body>
</html>Так виглядає все в браузері:
До речі, ви можете дуже легко перемістити лівий стовпець вправо. Для цього відредагуйте наступні інструкції:
• У #nav змініть значення left: 0 на right: 0.
• У #main просто змініть margin-left на margin-right.
Після збереження змін ви побачите бажаний результат.
Але проблема з показаним макетом на основі абсолютного позиціонування полягає в тому, що якщо вміст лівого стовпця стає більш об'ємним, він може виходити за межі вікна.
Це відбувається просто тому, що для елементів з абсолютним позиціонуванням не відводиться "вільного місця". Цю проблему можна обійти, додавши в головну область відповідний вміст, який довший, ніж в лівому стовпці.
Такий макет варто використовувати тільки тоді, коли ви впевнені, що головна область дійсно вища, ніж лівий (або правий) стовпець.
Двоколоночний макет з float
Проблему з перекриванням нижньої області, яку бачили в попередньому прикладі, можна вирішити за допомогою властивості float. Змінений синтаксис виглядає наступним чином:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#nav {
float: left;
margin: 0;
width: 20%;
background-color:#66CCCC;
border: 0;
}
#main {
margin: 0;
float: left;
border: 0;
background-color:#6666CC;
width: 80%;
}
#footer {
clear: both;
}
</style>
</head>
<body>
<div id="header">Макет із абсолютним розміщенням</div>
<div id="nav">Область навігації</div>
<div id="main">Це область вмісту</div>
<div id="footer">Тут розміщені дані про авторські права.</div>
</body>
</html>Ці два стовпці було відзначено властивістю float. Тепер стовпці розташовані один поруч одного.
Лівому стовпцю призначено ширину в 20 відсотків. Зверніть увагу, що властивості float вимагають задання ширини для елемента, що позиціонований таким чином.
Фактичний вмістовий блок отримує ширину в 80 відсотків. Ця область також позиціонована з властивістю float: left, тому вона відображається поруч із лівим стовпцем.
Для того щоб підвал завжди був в нижній області вікна - тобто під колонками - використовується такий синтаксис:
#footer {
clear: both;
}
Я вже зазначив можливість визначення власного класу для цього варіанту.
Триколоночний макет із float
Тріколоночний макет також є популярним варіантом у веб-дизайні. Типовий розподіл виглядає наступним чином:
• У лівому стовпці міститься навігація.
• У центральному стовпці розташований фактичний вміст.
• Справа показуються додаткові відомості або реклама.
Нижче ви знайдете приклад гнучкого трьохколонкового макету. Синтаксис цього випадку, як ви зараз побачите, досить схожий на двоколоночний. Проте тепер є додатковий div-блок з іменем right, яке в решті решт відображає правий віконний стовбець.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>PSD-Tutorials.de</title>
<style>
#main, #right {
margin: 0;
border: 0;
padding:0;
}
#nav {
float: left;
margin: 0;
width: 20%;
background-color:#66CCCC;
border: 0;
}
#main {
margin: 0;
float: left;
border: 0;
background-color:#6666CC;
width: 60%;
}
#right {
float: right;
width: 20%;
background-color:#6699FF;
}
#footer {
clear: both;
} </style>
</head>
<body>
<div id="header">Layout mit absoluter Positionierung</div>
<div id="nav">Der Bereich für die Navigation</div>
<div id="main">Das ist der Inhaltsbereich</div>
<div id="right">Das ist die rechte Spalte</div>
<div id="footer">Hier stehen die Copyright-Informationen.</div>
</body>
</html>
Новому розділу було призначено ширину 20 відсотків. Таким чином, розподіл виглядає наступним чином:
• Ліва і права колонки займають по 20 відсотків доступного простору.
• Середня колонка має ширину 60 відсотків.
Запропонованим синтаксисом визначається показ правого розділу справді справа.
Синтаксис у цьому випадку є гнучким. Ви можете змінити область main таким чином:
#main {
margin: 0;
float: right;
border: 0;
background-color:#6666CC;
width: 60%;
}
Тут значення float встановлено на right. Це призводить до переміщення області right вліво.
В цьому підручнику ви побачили, наскільки легко визначити основні макети за допомогою float. Ці знання тепер становлять основу для побудови веб-сайту. У наступних підручниках веб-сайт буде розвиватися крок за кроком, починаючи з основ.