HTML va CSS da maketlar bo‘yicha amaliyot
Maketlar yaratishda amaliyot o‘tamiz, ularni tarkib bilan to‘ldirib. Keling, masalan, quyidagi maketni yarataylik:
Keling, avval maketning asosiy tuzilishini yaratamiz:
<div class="wrapper">
<header>
...
</header>
<div class="container">
<aside class="left">
left
</aside>
<main>
...
</main>
<aside class="right">
right
</aside>
</div>
<footer>
site.com
</footer>
</div>
Keling, endi sarlavha (header) bilan tanishamiz. Ko‘rinib turibdiki, sarlavhada sayt nomi va menyu bo‘ladi. Bunda bu bloklar chap chetdan bir xil masofada joylashgan. Mantiqan bunday holatda ularni umumiy ota-blok bilan birlashtirish maqsadga muvofiq, bu bloklarni butun sifatida harakatlantirish uchun:
<div class="wrapper">
<header>
<div class="block">
<div class="sitename"></div>
<nav></nav>
</div>
</header>
</div>
Keling, sarlavha bloklarining tarkibini qo‘shamiz:
<div class="wrapper">
<header>
<div class="block">
<div class="sitename">site.com</div>
<nav>
<a href="#">home</a>
<a href="#" class="active">blog</a>
<a href="#">photos</a>
<a href="#">about us</a>
<a href="#">contacts</a>
</nav>
</div>
</header>
</div>
Keling, endi sarlavha bloklari uchun uslublarni yozamiz. Bunda sarlavha balandligini belgilamaymiz - uning o‘z tarkibi bilan kengayishiga ruxsat beramiz:
header {
border: 1px solid black;
}
.block {
margin: 20px 0 50px 220px;
}
.sitename {
margin-bottom: 10px;
font: 20px Arial;
}
nav {
display: flex;
width: 600px;
border: 1px solid black;
}
Konteynerda uch ustun yaratadigan kodni yozamiz. Bunda kontent balandligini belgilamaymiz - uning o‘z tarkibi bilan shakllanishiga ruxsat beramiz:
.container {
display: flex;
}
main {
width: 660px;
padding: 20px;
border: 1px solid black;
}
.left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
.right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
Keling, endi bizning maketimizning qolgan uslublarini yozamiz va vazifamizning yechimini olamiz:
<div class="wrapper">
<header>
<div class="block">
<div class="sitename">site.com</div>
<nav>
<a href="#">home</a>
<a href="#" class="active">blog</a>
<a href="#">photos</a>
<a href="#">about us</a>
<a href="#">contacts</a>
</nav>
</div>
</header>
<div class="container">
<aside class="left">
left
</aside>
<main>
<h1>Our blog</h1>
<p>
...
</p>
<p>
...
</p>
<p>
...
</p>
<p>
...
</p>
<p>
...
</p>
</main>
<aside class="right">
right
</aside>
</div>
<footer>
site.com
</footer>
</div>
* {
box-sizing: border-box;
}
.wrapper {
width: 1100px;
margin: 30px auto;
border: 1px solid black;
}
header {
border: 1px solid black;
}
.container {
display: flex;
}
main {
width: 660px;
padding: 20px;
border: 1px solid black;
}
.left {
width: 200px;
margin-right: 20px;
padding: 20px;
border: 1px solid black;
}
.right {
width: 200px;
margin-left: 20px;
padding: 20px;
border: 1px solid black;
}
footer {
padding: 30px 0;
border: 1px solid black;
text-align: center;
}
.block {
margin: 20px 0 50px 220px;
}
.sitename {
margin-bottom: 10px;
font: 20px Arial;
}
nav {
display: flex;
width: 600px;
border: 1px solid black;
}
nav a {
padding: 10px;
color: blue;
text-decoration: none;
font: 15px Arial;
}
nav a:hover, nav a.active {
color: red;
text-decoration: underline;
}
main h1 {
font: 20px "Times New Roman";
}
main p {
margin: 10px 0;
text-align: justify;
font: 15px Arial;
}
Amaliy vazifalar
Quyidagi havola orqali 1.zip maketni yuklab oling. Uni brauzerda oching va ushbu namuna bo‘yicha sahifani takrorlang.
Quyidagi havola orqali 2.zip maketni yuklab oling. Uni brauzerda oching va ushbu namuna bo‘yicha sahifani takrorlang.