Sütun Düzeniyle İlgili CSS Özellikleri

Sütun Düzeniyle İlgili CSS Özellikleri

Bu makale, sütun düzeniyle ilgili CSS özelliklerini açıklar.

Sütun düzenlerini nasıl tanımlayacağınızı öğrenebilirsiniz.

YouTube Video

Önizleme için HTML

css-columns.html
 1<!DOCTYPE html>
 2<html lang="en">
 3<head>
 4    <meta charset="UTF-8">
 5    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6    <title>CSS Properties Example</title>
 7    <link rel="stylesheet" href="css-base.css">
 8    <link rel="stylesheet" href="css-columns.css">
 9</head>
10<body>
11    <!-- Header -->
12    <header>
13        <h1>CSS Properties For Columns</h1>
14    </header>
15
16    <!-- Main content -->
17    <main>
18        <header>
19            <h2>Layout Related Properties</h2>
20        </header>
21        <article>
22            <h3>columns</h3>
23            <section style="width: 100%; height: 350px;">
24                <h4>Columns Example</h4>
25                <header><h4>columns: 100px 3; column-gap: 20px; column-rule: 2px solid #333;</h4></header>
26                <section class="sample-view">
27                    <section class="columns-container">
28                        <h5>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id odio sit amet eros feugiat semper.</h5>
29                        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id odio sit amet eros feugiat semper.</p>
30                        <p>Donec vehicula est non sapien sollicitudin, id tincidunt velit volutpat.</p>
31                        <p>Pellentesque malesuada diam eu sem finibus scelerisque.</p>
32                        <p>Integer eget dolor nec est dignissim fermentum ut eget nunc.</p>
33                        <p>Morbi in nibh in lorem vestibulum sollicitudin.</p>
34                    </section>
35                </section>
36            </section>
37        </article>
38        <article>
39            <h3>order</h3>
40            <section style="height: 300px;">
41                <header><h4>column-width: 250px</h4></header>
42                <section class="sample-view">
43                    <div class="container">
44                        <div class="item item-1">Item 1</div>
45                        <div class="item item-2">Item 2</div>
46                        <div class="item item-3">Item 3</div>
47                    </div>
48                </section>
49            </section>
50        </article>
51    </main>
52</body>
53</html>

Sütun Düzeni

sütunlar

1.columns-container {
2    columns: 100px 3;
3    column-gap: 20px;
4    column-rule: 2px solid #333;
5}
6
7h5 {
8  column-span: all;
9}

CSS columns özelliği, içeriğin birden fazla sütuna bölünerek görüntülenmesi için kullanışlı bir yöntem sunar. Tek bir deklarasyonla sütun genişliğini ve sütun sayısını kolayca ayarlayabilirsiniz, bu da duyarlı tasarımlar için uygundur. Metnin dikey olarak uzun bir şekilde görüntülendiği ve birden fazla sütuna yerleştirildiği, gazete veya dergi gibi düzenlerde bu özellik oldukça etkilidir.

  • Bu örnekte, içerik 20px boşluk ve sütunlar arasında 2px çizgi ile 3 sütuna bölünmüştür. Ek olarak, h5 elementi birden fazla sütuna yayılır.

columns, column-width ve column-count özelliklerinin kısa yazımıdır.

columns Özelliğinin Söz Dizimi

1columns: <column-width> <column-count>;

columns bu formatı takip eder.

  • <column-width>: Her sütunun genişliğini belirler. Değer olarak auto veya herhangi bir uzunluk birimi (örn. px, em, %, vb.) kullanabilirsiniz.
  • <column-count>: Sütun sayısını belirtir. Sayısal bir değer olarak ifade edilir.
column-width Özelliği
1.container {
2  column-width: 250px;
3}

column-width, her sütunun minimum genişliğini belirleyen bir özelliktir. column-count ile birlikte kullanıldığında sütunların otomatik yerleştirilmesi ve ayarlanması mümkün olur. Tarayıcı, konteynerin genişliğini dikkate alır ve gerekli sütun sayısını otomatik olarak hesaplar.

  • Bu örnekte, sütun başına genişlik 250px olarak ayarlanmıştır ve konteynerin genişliğine göre en uygun sütun sayısı hesaplanır.
column-count Özelliği
1.container {
2  column-count: 3;
3}

column-count, belirli bir öğenin kaç sütuna bölüneceğini açıkça belirleyen bir özelliktir. column-width'in aksine, bu özellik sütun sayısını sabitler.

  • Bu örnekte, kapsayıcı içindeki içerik üç sütuna bölünmüştür.
column-gap Özelliği
1.container {
2  column-gap: 20px;
3}

column-gap, her bir sütun arasındaki boşluğu (aralığı) belirleyen bir özelliktir. CSS Grid ile ortak bir özellik olan gap da vardır, ancak yalnızca sütunlar arasındaki kenar boşluklarını özelleştirmek istediğinizde column-gap kullanışlıdır.

  • Bu örnekte, her bir sütun arasında 20px'lik bir boşluk bulunmaktadır. Varsayılan değer 16px'dir.
column-rule Özelliği
1.container {
2  column-rule: 2px solid #333;
3}

column-rule, sütunlar arasına çizgi çizmek için kullanılan bir özelliktir. border özelliğine benzer bir sözdizimine sahiptir ve çizginin genişliğini, stilini ve rengini belirlemenize olanak tanır.

  • Bu örnekte, sütunlar arasında 2px genişliğinde düz siyah bir çizgi gösterilmiştir. column-rule aşağıdaki üç özellik halinde ayrılabilir.
    • column-rule-width: Çizginin genişliğini belirtir.
    • column-rule-style: Çizginin stilini belirtir. Örneğin, solid (düz), dashed (kesikli), dotted (noktalı) gibi seçenekler vardır.
    • column-rule-color: Çizginin rengini belirtir.
column-span Özelliği
1h5 {
2  column-span: all;
3}

column-span, belirli bir öğenin birden çok sütuna yayılmasını sağlayan bir özelliktir. Başlıklar gibi öğeler için genellikle kullanılır. İki olası değeri vardır:. - none: Öğe sütunlara yayılmaz ve bir sütun içinde yer alır. Bu varsayılan değerdir. - all: Öğe tüm sütunlara yayılmış şekilde görüntülenir.

  • Bu örnekte, h5 öğesi birden çok sütuna yayılmış şekilde görüntülenmiştir.
column-fill Özelliği
1.container {
2  column-fill: balance;
3}

column-fill, içeriğin sütunlar arasında nasıl dağıtıldığını kontrol eden bir özelliktir. Normalde sütunlar mümkün olduğunca eşit şekilde doldurulur, ancak bu özellik farklı bir düzen belirtmenize olanak tanır. Aşağıdaki değerler mevcuttur:. - balance: İçerikler sütunları eşit şekilde dolduracak şekilde düzenlenir. Bu varsayılan değerdir. - auto: Sütunlar otomatik olarak doldurulur. Son sütun daha uzun olabilir.

  • Bu ayar, içeriğin eşit şekilde dağıtılmasını sağlar.
Media Query'ler ile Kullanımı
1.container {
2  columns: 200px 3;
3}
4
5@media (max-width: 600px) {
6  .container {
7    columns: 1;
8  }
9}

columns özelliği, duyarlı tasarımı desteklemek için media query'lerle birleştirilebilir. Farklı ekran boyutlarına bağlı olarak sütun sayısını ve sütun genişliklerini esnek bir şekilde değiştirebilirsiniz.

  • Bu örnekte, ekran genişliği 600px veya daha az olduğunda 1 sütun olacaktır. Daha geniş ekranlar için, her biri 200px genişliğinde 3 sütuna bölünecektir.

Özet

CSS columns özelliği, birden fazla sütun kullanarak düzenleri kolayca uygulamak için güçlü bir araçtır. Bu, özellikle okuma kolaylığına öncelik veren duyarlı tasarım ve metin düzenleri için faydalıdır. İlgili özellikleri birleştirerek sütun sayısını ve genişliklerini, boşlukları, süslemeleri vb. esnek bir şekilde özelleştirebilirsiniz.

Bu, daha sofistike tasarımların kolayca uygulanmasını sağlar, bu yüzden bu özelliği kullanmanızı öneririz.

order

 1.container {
 2    all:initial;
 3    display: flex;
 4}
 5.item {
 6    padding: 10px;
 7    background-color: lightblue;
 8    margin: 5px;
 9}
10.item-1 {
11    order: 3;
12}
13.item-2 {
14    order: 1;
15}
16.item-3 {
17    order: 2;
18}

CSS order özelliği, Flexbox veya Grid düzenlemeleri kullanıldığında öğelerin görüntüleme sırasını kontrol etmek için kullanılır. Normalde öğeler HTML işaretlemesine göre işlenir, ancak order özelliğini kullanarak görsel sıralarını değiştirebilirsiniz. Bu özellik, esnek kullanıcı arabirimleri tasarlamaya ve duyarlı tasarımlar oluşturmaya yardımcı olur.

  • Bu örnekte, öğeler HTML'de Item 1, Item 2, Item 3 olarak işaretlenmiştir, ancak CSS order özelliği nedeniyle görüntü sırası Item 2, Item 3, Item 1 olarak değişir.

order Özelliğinin Temelleri

order özelliği, Flexbox veya Grid kapları içindeki öğelere uygulanır. Yerleştirme sırasını her bir öğe için tamsayı değeri belirleyerek tanımlarsınız. Varsayılan olarak, tüm öğelerin order değeri 0 olarak ayarlanır. Bu değeri değiştirerek, öğelerin hangi sırada görüntüleneceğini belirleyebilirsiniz.

Temel Sözdizimi
1.item {
2  order: <integer>;
3}
  • order değeri için herhangi bir tamsayı belirtebilirsiniz. Pozitif, negatif veya sıfır değerler kullanılabilir. Değer ne kadar küçükse, öğe o kadar erken gösterilir; değer ne kadar büyükse, öğe o kadar geç gösterilir.

Pozitif ve Negatif Değerlerin Kullanımı

order özelliğine negatif değerler de atayabilirsiniz. Negatif değerlere sahip öğeler varsayılan sıralamadan önce görüntülenir.

1.item-1 {
2    order: -1;
3}
4.item-2 {
5    order: 2;
6}
7.item-3 {
8    order: 1;
9}

Bu örnekte, Item 1 order: -1 olarak ayarlandığından ilk olarak görüntülenir. Buna karşılık, Item 3 order: 1 ve Item 2 order: 2 olarak ayarlandığından bu sırayla görüntülenir.

Responsive Tasarımda order

Responsive tasarımda, ekran boyutuna göre öğelerin sırasını değiştirmek mümkündür. Örneğin, mobil görünümde önemli bilgileri önce göstermek için öğelerin sırasını değiştirebilirsiniz.

 1.item-1 {
 2    order: 1;
 3}
 4.item-2 {
 5    order: 2;
 6}
 7.item-3 {
 8    order: 3;
 9}
10
11/* Change the order on screens with a width of 800px or less */
12@media (max-width: 800px) {
13    .item-1 {
14        order: 3;
15    }
16    .item-2 {
17        order: 1;
18    }
19    .item-3 {
20        order: 2;
21    }
22}

Bu örnekte, normal görünümde öğeler Item 1, Item 2, Item 3 sırasıyla görüntülenirken, ekran genişliği 600px'in altına düştüğünde Item 2 ilk, Item 3 ikinci, ve Item 1 en son olarak görüntülenir.

order için Dikkat Edilecekler

order özelliğini kullanmak, DOM ağacındaki sıradan farklı bir görsel sıralama ile sonuçlanabilir. Bu durum ekran okuyucular gibi erişilebilirlik araçlarını etkileyebilir. Sıra değiştirildiğinde, klavye navigasyonu ve diğer yardımcı teknolojiler beklenildiği gibi çalışmayabilir. Bu nedenle, order kullanırken kullanıcı deneyimi üzerindeki etkisini dikkatlice değerlendirmek gereklidir.

Sonuç

CSS order özelliği, Flexbox veya Grid düzenlerinde öğelerin görüntülenme sırasını kolayca kontrol etmenizi sağlayan güçlü bir araçtır. Pozitif veya negatif değerler kullanarak öğelerin sırasını esnek bir şekilde değiştirebilirsiniz, bu özellikle responsive tasarımda çok faydalıdır. Ancak, erişilebilirlik ve görsel sıra ile HTML yapısı arasındaki farklılıklara dikkat edilmelidir. Eğer bu hususlar doğru bir şekilde değerlendirilirse, order özelliği daha dinamik ve esnek düzenler oluşturmak için yararlı olabilir.

Yukarıdaki makaleyi, YouTube kanalımızda Visual Studio Code'u kullanarak takip edebilirsiniz. Lütfen YouTube kanalını da kontrol edin.

YouTube Video