HomeFrontend GeliştirmeArayüz Tasarımı

Yazıları Yatay ve Dikey Olarak Flexbox ile Kusursuz Ortalama

Yazıları Yatay ve Dikey Olarak Flexbox ile Kusursuz Ortalama

“Yazılarınızı yatay olarak ortalamanın kusurlusu kusursuzu olmaz, zaten yıllardır ortalıyoruz gayet güzelce.” dediğinizi duyar gibiyim. Evet haklısınız da. Yatay olarak ortalama zaten hep kolaydı. Peki ya yazılarınızı değişken yükseliğe sahip alanlarda dikey olarak ortalamadan ne haber? Bu durum karşınıza her çıktığında eminim ki problem olmuştur. Bu makaleyle beraber yazılarınızı dikey olarak Flexbox ile ortalamanın ne kadar kolay olduğunu göstereceğim.

Eski Usul Ortalama

Flexbox ile ortalamaya geçmeden önce daha evvel bunu nasıl yaptığımı anlatmak istiyorum. Bir resim düşünün ve bu resmin üzerinde 3 satır slogan veya yazı düşünün. Düşünmeyelim hazırlayalım hatta.

Öncelikle şu şekilde bir HTML bloğumuz olsun:

Şimdi bir de başlangıç CSS’imiz olsun. Yani basit bir tasarımımız olsun. Fakat herhangi bir ortalama, kaydırma vs. olmadan:

Bu çalışmanın canlı önizlemesini buraya tıklayarak görüntüleyebilirsiniz. Ekran çıktınız şu şekilde olacaktır:

Öncelikle yazımızı yatay olarak ortalayalım:

Bu işin kolay kısmıydı. text-align: center; ile anında yazımızı ortaladık. Dikey olarak ortalamaya gelince eğer yazımız tek satır olsaydı line-height: 300px; yaparak içinde bulunduğu divin yüksekliğinde line-height tanımlayarak yazımızı dikey olarak ortalayabilirdik. Peki bu şekilde 3 başlık etiketi varsa şayet içinde paragraf varsa ne yapıyoruz? Tabii ki slogan-yazisi alanına padding-top ekliyoruz ve görsel olarak okey verdiğimiz değeri yazıyoruz. Yani CSS’imiz şu şekilde olacak:

Codepen’de canlı olarak görüntülemek için buraya tıklayınız. Ekran görüntüsü şu şekilde olacaktır:

Yeni Usul Ortalamak İsteseydik Flexbox ile Nasıl Yapacaktık?

HTML bloğumuz aynen kalmak üzere Flexbox ile ortalama yapmak için öncelikle .slogan elementine display: flex; ekleyeceğiz. Ve daha sonra justify-content ve align-items kullanarak yatay ve dikey olarak ortalamış olacağız.

Justify-content:center ile yazımızı yatayda ortalarken align-items: center ile yazımızı dikeyde ortalıyoruz.

Codepen’de bu çalışmayı görüntülemek için buraya tıklayınız. Ekran çıktısı aşağıdaki gibi olacaktır:

Flexbox yeni teknoloji olmakla beraber eski tarayıcılarda desteklenmemektedir. Flexbox destekleyen tarayıcıları görmek için buraya tıklayınız. Daha derin bilgi için Fatih abinin hazırladığı kaynağı inceleyebilirsiniz.

Faydalı olması dileğiyle, kolay gelsin

Yorumlar

TOPLAM 0
DISQUS: 0