Yerleşim Elemanları (HTML Layouts)

Web siteleri genellikle içeriği dergi veya gazete gibi birden çok sütunda gösterir.

<!DOCTYPE html>
<html lang="tr">
<head>
<title>HTML Layout</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
}

header {
  background-color: #666;
  padding: 30px;
  text-align: center;
  font-size: 35px;
  color: white;
}

nav {
  float: left;
  width: 30%;
  height: 300px;  
  background: #ccc;
  padding: 20px;
}

nav ul {
  list-style-type: none;
  padding: 0;
}

article {
  float: left;
  padding: 20px;
  width: 70%;
  background-color: #f1f1f1;
  height: 300px;  
}

section::after {
  content: "";
  display: table;
  clear: both;
}

footer {
  background-color: #777;
  padding: 10px;
  text-align: center;
  color: white;
}

@media (max-width: 600px) {
  nav, article {
    width: 100%;
    height: auto;
  }
}
</style>
</head>
<body>
 
<header>
  <h2>Şehirler</h2>
</header>

<section>
  <nav>
    <ul>
      <li><a href="#">Ankara</a></li>
      <li><a href="#">İstanbul</a></li>
      <li><a href="#">Hatay</a></li>
    </ul>
  </nav>
  
  <article>
    <h1>Ankara</h1>
    <p>Türkiye'nin başkentidir. Kalabalık bir nüfusa sahiptir.</p>
   </article>
</section>

<footer>
  <p>Footer (Alt Taraf)</p>
</footer>

</body>
</html>

HTML Layout Elemanları

HTML’de bir web sayfasının farklı bölümlerini tanımlayan çeşitli öğeler bulunur:

  • <header> bir belge veya bölüm için başlığı tanımlar
  • <nav> bir sayfanın gezinme bağlantılarının yani menüsünün bulunduğu alandır
  • <section> belgedeki bölümleri tanımlar.
  • <article> genellikle sayfaların bir kısmı sabitken article kısmındaki içerik değişir. Web sitesinin içerik kısmıdır
  • <aside> içeriğin dışındaki alanı tanımlar. Genellikle sağda yer alan menüler veya kenar çubukları
  • <footer> site altbilgisidir. genellikle menüleri ve sitenin kim tarafından yapıldığını gösteren yer olarak kullanılır.
  • <details> kullanıcının isteğe bağlı olarak açıp kapatacağı ek alanları gösterir.
  • <summary> <details> bölümü için başlıkları tanımlamak için kullanılır.

HTML Layout Teknikleri

Çok sütunlu düzenler oluşturmak için dört farklı teknik vardır. Her tekniğin artıları ve eksileri vardır:

  • CSS framework
  • CSS float property
  • CSS flexbox
  • CSS grid

CSS Frameworks

Bir web sitesini daha hızlı bir şekilde CSS ile geliştirmek istiyorsanız hazır framework kullanabilirsiniz. En sık kullanılan framework listesi; bootstrap,foundation,materialize,semantik ui,bulma,UIkit’tir.

CSS Float

Tüm web düzenlerini CSS float özelliğini kullanarak yapmak da mümkündür. Float’ın öğrenilmesi kolaydır; sadece float ve clear özelliklerinin nasıl çalıştığını hatırlamanız yeterlidir.

Dezavantajları: Değişkenler belgeye bağlı olduğundan esnekliğe zarar verebilir.

<!DOCTYPE html>
<html lang="tr">
<head>
<title>Örnek Tema</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
}
 
header {
  background-color: #666;
  padding: 30px;
  text-align: center;
  font-size: 35px;
  color: white;
}
 
nav {
  float: left;
  width: 30%;
  height: 300px;  
  background: #ccc;
  padding: 20px;
}
 
nav ul {
  list-style-type: none;
  padding: 0;
}

article {
  float: left;
  padding: 20px;
  width: 70%;
  background-color: #f1f1f1;
  height: 300px;  
}
 
section::after {
  content: "";
  display: table;
  clear: both;
}
 
footer {
  background-color: #777;
  padding: 10px;
  text-align: center;
  color: white;
}
 
@media (max-width: 600px) {
  nav, article {
    width: 100%;
    height: auto;
  }
}
</style>
</head>
<body>
 
<header>
  <h2>Şehirler</h2>
</header>

<section>
  <nav>
    <ul>
      <li><a href="#">Ankara</a></li>
      <li><a href="#">İstanbul</a></li>
      <li><a href="#">Hatay</a></li>
    </ul>
  </nav>
  
  <article>
    <h1>Ankara</h1>
    <p>Türkiye'nin başkenti Ankara'dır.</p> 
  </article>
</section>

<footer>
  <p>Alt Bilgi Footer yazısı.</p>
</footer>

</body>
</html>

CSS Flexbox

Flexbox kullanımı, sayfa düzeninin farklı ekran boyutlarına ve farklı görüntüleme aygıtlarına uyum sağlaması gerektiğinde öğelerin ekran çözünürlüğüne uygun hareket etmesi gerektiğinde kullanılır. Kullanımını anlamadıysanız merak etmeyin CSS Eğitimi bölümünde daha detaylı olarak ele alacağız.

<!DOCTYPE html>
<html lang="tr">
<head>
<title>Örnek Tema</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
* {
  box-sizing: border-box;
}

body {
  font-family: Arial, Helvetica, sans-serif;
}
 
header {
  background-color: #666;
  padding: 30px;
  text-align: center;
  font-size: 35px;
  color: white;
}
 
section {
  display: -webkit-flex;
  display: flex;
}
 
nav {
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  background: #ccc;
  padding: 20px;
}
 
nav ul {
  list-style-type: none;
  padding: 0;
}
 
article {
  -webkit-flex: 3;
  -ms-flex: 3;
  flex: 3;
  background-color: #f1f1f1;
  padding: 10px;
}

/* Style the footer */
footer {
  background-color: #777;
  padding: 10px;
  text-align: center;
  color: white;
}
 
@media (max-width: 600px) {
  section {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
</style>
</head>
<body>
 
<header>
  <h2>Şehirler</h2>
</header>

<section>
  <nav>
    <ul>
      <li><a href="#">Ankara</a></li>
      <li><a href="#">İstanbul</a></li>
      <li><a href="#">Hatay</a></li>
    </ul>
  </nav>
  
  <article>
    <h1>Ankara</h1>
    <p>Türkiye'nin başkenti Ankara'dır.</p> 
  </article>
</section>

<footer>
  <p>Alt Bilgi Footer yazısı.</p>
</footer>

</body>
</html>

CSS Grid

CSS grid, yani ızgara satırlar ve sütunlar içeren ızgara tabanlı bir düzen sistemi sunar. Kayan nokta ve konumlandırma kullanmaya gerek kalmadan web sayfalarının tasarlanmasını kolaylaştırır. Yine Grid yani ızgara sistemini CSS eğitimi konusunda detaylandırmaya çalışacağız.

3 Ekim 2023
Was this article helpful?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir