Предполагам типично разпределение на колони в нашия проект. Преди да представя проекта живо и на цветно, бих искал да ви покажа конкретно как да създадете колонни разпределения. Фокусът тук ще бъде върху дву- и триспалтовите разпределения, тъй като те все още са основа за повечето уебсайтове.
Класическото уеб дизайнерско разпределение вероятно би било двуспалтовото. В лявата част на прозореца обикновено се представя навигацията, докато в дясната колона се вижда реалното съдържание. Във връзка с блоговете този подход всъщност се е променил малко. Фактически в много блогове навигацията или рекламата се показват вдясно, докато реалното съдържание се представя вляво.
Такива приложения лесно могат да бъдат създадени чрез 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">Layout mit absoluter Positionierung</div>
<div id="nav">Navigationsbereich</div>
<div id="main">Това е съдържанието</div>
<div id="footer">Тук се намират информациите за авторското право</div>
</body>
</html>И така изглежда целият този процес в браузъра:
Можете да движите лявата колона наляво лесно. За целта променете следните насоки:
• За #nav променете стойността left: 0 на right: 0.
• За #main просто променете margin-left на margin-right.
След като промените бъдат запазени, ще видите желания резултат.
Въпреки че показаното разпределение базирано на абсолютно позициониране има проблем: Ако съдържанието на лявата колона стане по-голямо, то излиза извън областта на подножието.
Това се дължи на факта, че за абсолютно позиционираните елементи няма "запазен" пространство. Проблемът може да бъде обходен като в основната област се вмъкнат съдържанието, което е по-дълго от това в лявата колона.
Вие трябва да използвате този вид разпределение само ако сте сигурни, че основната област е наистина по-висока от лявата (или дясната) колона.
Двуспалтово разпределение с плуващо позициониране
Проблемът, който възникна в предишния пример с наслояването на основния слой, може да бъде отстранен с използването на свойството 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">Layout mit absoluter Positionierung</div>
<div id="nav">Навигационен регион</div>
<div id="main">Това е съдържанието</div>
<div id="footer">Тук се намират информациите за авторското право</div>
</body>
</html>Тук и двете колони са оборудвани със свойство float. Така колоните вече са подредени една до друга.
На левия регион е зададена ширина от 20 процента. Особено внимавайте, че елементът, позициониран с float, винаги очаква ширина да бъде зададена.
Основната област на съдържание получава ширина от 80 процента. Този регион също се позиционира с float: left. Така този регион се показва до лявата колона.
За да се уверите, че подножието винаги е в долния регион на прозореца - т.е. под колоните - се използва следната синтакса:
#footer {
clear: both;
}
Бях ви насочил към възможността за дефиниране на собствен клас за този вариант.
Триспалтово разпределение с плуващо позициониране
Триспалтовото разпределение също е популярен избор в уеб дизайна. Типичното разпределение изглежда по следния начин:
• В лявата колона се намира навигацията.
• В средната колона е вмъкнатото реалното съдържание.
• Вдясно се показват допълнителна информация или реклами.
По-долу ще намерите пример, как се създава гъвкав триспалтов уеб дизайн. Синтаксисът е подобен на този на предходния двуспалтов. Разликата е, че сега има допълнителен 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 с абсолютно позициониране</div>
<div id="nav">Зоната за навигация</div>
<div id="main">Това е областта със съдържание</div>
<div id="right">Това е дясната колона</div>
<div id="footer">Тук се намират авторските права.</div>
</body>
</html>
На новата зона е присвоена ширина от 20 процента. Така разделението изглежда по следния начин:
• Лявата и дясната колони заемат по 20 процента от наличната рекламна площ.
• Средната колона има ширина от 60 процента.
Чрез показания синтаксис right-областта се показва наистина отдясно.
В този точка синтаксисът е гъвкав. Вие можехте да промените основата на main-областта по следния начин:
#main {
margin: 0;
float: right;
border: 0;
background-color:#6666CC;
width: 60%;
}
Тук беше зададен float като right. Така right-областта се премества наляво.
В този урок видяхте как се дефинират основни макети въз основа на float. Този вид знание вече образува основата за изграждане на уебсайт. В следващите уроци ще се изгражда уебсайт стъпка по стъпка, започващ от основната структура.