CSS-ში მრავალი wrapper-ის მქონე ლეაუტის სქემა
ხშირად დეველოპმენტის დროს გვხვდება ლეაუტები, რომლებშიც ბლოკებს აქვთ ფონი მთელი გვერდის სიგანეზე, ხოლო ამ ბლოკების კონტენტი ცენტრშია განლაგებული. აი ასეთი ლეაუტის მაგალითი:
ასეთ ლეაუტში ჩვენ მოგვიწევს არა ერთი wrapper-ის გაკეთება, არამედ რამდენიმე - ყოველი ბლოკისთვის. ამ შემთხვევაში wrapper-ის შიგნით უნდა იყოს კიდევ ერთი ბლოკი, რომელიც ასრულებს კონტენტის ცენტრირებას. ასევე უნდა არსებობდეს კლასი, რომელიც პასუხისმგებელია კონტენტის ფონით გაფერადებაზე.
ჩვენი ლეაუტის ზოგადი სქემა ასე გამოიყურება:
<div class="wrapper">
<div class="center">
</div>
</div>
<div class="wrapper line">
<div class="center">
</div>
</div>
<div class="wrapper">
<div class="center">
</div>
</div>
<div class="wrapper line">
<div class="center">
</div>
</div>
კლასი center გამოყენებული იქნება
ბლოკების ცენტრირებისთვის:
.center {
width: 800px;
padding: 20px;
margin: 0 auto;
}
კლასი line გამოყენებული იქნება
ბლოკების გაფერადებისთვის:
.wrapper.line {
background-color: #008040;
color: white;
}
ხოლო კლასი wrapper იქნება თითოეული
ბლოკის მშობელი. გამოვიყენოთ ის ბლოკებს შორის
დაშორების დასაყენებლად:
.wrapper {
margin-bottom: 30px;
}
ახლა კი დავწეროთ ჩვენი ამოცანის სრული კოდი:
<div class="wrapper">
<div class="center">
<h1>Main site header</h1>
</div>
</div>
<div class="wrapper line">
<div class="center">
<h2>Our company</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
<div class="wrapper">
<div class="center">
<h2>Our price</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
<div class="wrapper line">
<div class="center">
<h2>Our contacts</h2>
<p>
...
</p>
<p>
...
</p>
</div>
</div>
* {
box-sizing: border-box;
}
body {
margin: 0;
}
.wrapper {
margin-bottom: 30px;
}
.wrapper.line {
background-color: #008040;
color: white;
}
.center {
width: 800px;
padding: 20px;
margin: 0 auto;
}
.wrapper h1 {
margin: 0;
font: 40px "Times New Roman";
}
.wrapper h2 {
margin: 0;
font: 25px "Times New Roman";
}
.wrapper p {
font: 16px/1.4 Arial;
text-align: justify;
}