HTML ve CSS ile Düzen Uygulamaları
Düzenler oluşturma ve onları içerikle doldurma konusunda pratik yapalım. Örneğin, şöyle bir düzen yapalım:
İlk olarak düzenin temel yapısını oluşturalım:
<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>
Şimdi header (üstbilgi) ile ilgilenelim. Örnekte görüldüğü gibi header'da site adı ve bir menü olacak. Ayrıca bu bloklar sol kenardan aynı mesafede duruyor. Bu durumda onları ortak bir ebeveyn altında birleştirip, bu blokları tek bir birimmiş gibi hareket ettirmek mantıklı:
<div class="wrapper">
<header>
<div class="block">
<div class="sitename"></div>
<nav></nav>
</div>
</header>
</div>
Header bloklarının içeriğini ekleyelim:
<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>
Şimdi header bloklarının stillerini yazalım. Bu arada header'a yükseklik belirlemeyelim - kendi içeriği ile genişlesin:
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;
}
Konteynır içinde üç sütun oluşturan kodu yazalım. Bu arada içerik yüksekliği belirlemeyelim - kendi içeriği tarafından oluşturulsun:
.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;
}
Şimdi düzenimizin geri kalan stillerini yazalım ve görevimizin çözümünü elde edelim:
<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;
}
Pratik Görevler
Aşağıdaki bağlantıdan 1.zip şablonu indirin. Tarayıcıda açın ve sayfayı bu örneğe göre tekrarlayın.
Aşağıdaki bağlantıdan 2.zip şablonu indirin. Tarayıcıda açın ve sayfayı bu örneğe göre tekrarlayın.