CSS mantıksal özellikler konumlandırması, geliştiricilerin fiziksel ekran yönleri yerine metin akışına dayalı düzen kuralları tanımlamasına olanak tanır. width ve height yerine inline-size ve block-size gibi özellikleri kullanarak web siteniz farklı yazım yönlerine ve dillere otomatik olarak uyum sağlar. Bu yaklaşım, her dil varyasyonu için manuel geçersiz kılmalar gerektirmeden çift yönlü metin düzenlerini destekler. Küresel web erişilebilirliği ve farklı tarayıcı ortamlarında temiz, sürdürülebilir kod için esnek bir temel oluşturur.
Neden fiziksel özelliklerden uzaklaşmalısınız?
Geleneksel CSS; top, bottom, left ve right gibi fiziksel yönlere dayanır. Bu özellikler, her kullanıcının soldan sağa ve yukarıdan aşağıya okuduğunu varsayar. Küresel bir kitle için site oluşturuyorsanız, bu fiziksel değerler genellikle sizi kapsamlı koşullu CSS yazmaya zorlar. Fiziksel özellikler kullanmak, Arapça veya İbranice metin için kenar boşluklarını ve dolguları manuel olarak ters çevirmeniz gerektiği anlamına gelir. Bu süreç zaman alıcıdır ve site yapınızı güncellerken hatalara açıktır.

Mantıksal özellikler bunun yerine düzeni içerik akışına eşler. Tarayıcı, belgede tanımlanan yazım moduna göre bir kapsayıcının başlangıcını ve bitişini belirler. Yazım modunu değiştirdiğinizde düzen ayarlamaları otomatik olarak gerçekleşir. Bu değişim, farklı bölgelerde uyumluluğu korumak için gereken kod miktarını azaltır. Uzun vadeli proje yönetimi için stil sayfalarınızı okunabilir ve kısa tutarken karmaşık düzenleri yapılandırmanın daha verimli bir yoludur.
Mantıksal özellikler uygulamada nasıl çalışır?
Mantıksal özellikler fiziksel boyutların yerini göreceli eşleme ile alır. Örneğin inline-size özelliği, yatay yazım modlarında width değerine eşlenirken dikey modlarda height değerine geçer. Benzer şekilde padding-inline-start, padding-left öğesinin yerini alarak boşluğunuzun her zaman metin akışının başında yer almasını sağlar. Bu, gezinti çubukları, kenar çubukları ve harekete geçirici mesaj düğmeleri gibi öğeler için öngörülebilir bir davranış oluşturur.
- inline-size: Öğe uzunluğunu satır içi yönde temsil eder.
- block-size: Öğe uzunluğunu blok yönünde temsil eder.
- margin-inline-start: Satır içi eksenin başlangıcında dış boşluğu ayarlar.
- margin-inline-end: Satır içi eksenin sonunda dış boşluğu ayarlar.
- inset-block: block-start ve block-end için kısayol özelliği.
Fiziksel ve mantıksal CSS özelliklerinin karşılaştırması
| Fiziksel Özellik | Mantıksal Özellik | Davranış |
|---|---|---|
| width | inline-size | LTR’de width, dikeyde height olarak eşlenir |
| padding-left | padding-inline-start | Metin yönü akışına uyum sağlar |
| margin-top | margin-block-start | Blok akışına göre alanı belirler |
Alien Road CSS mantıksal özelliklerini nasıl uygular?
Alien Road’da tasarım ekibimiz, ölçeklenebilir tasarım sistemleri oluşturmak için mantıksal özellikler kullanır. Tipik bir proje çalışması sırasında, duyarlılığı engelleyen katı fiziksel boyutları belirlemek için mevcut stil sayfalarımızı denetliyoruz. Oluşturma aşamasında bunları mantıksal alternatiflerle değiştiriyoruz. Örneğin, bir müşterinin çok dilli bir kontrol paneline ihtiyacı varsa, tüm kapsayıcı kısıtlamalarını inline-size ve block-size kullanarak ayarlarız. Bu, kullanıcının İngilizce, Japonca veya Farsça seçmesinden bağımsız olarak arayüzün tutarlı kalmasını sağlar.

Süreçimiz, her boşluk değerinin mantıksal eşleme kullandığı merkezi bir belirteç kitaplığı oluşturmayı içerir. Ardından, içeriğin yazım modu değişikliklerine uyum sağlamasını உறுதி etmek için düzeni çeşitli tarayıcılarda doğrularız. Bu yöntem, bakım aşamasında dille ilgili stil geçersiz kılma ihtiyacını azaltır. Akışa göreceli birimleri önceliklendirerek, CSS mimarisinin tamamen yeniden yazılmasını gerektirmeden uluslararası genişlemeye hazır web siteleri sunuyoruz.
Bu özellikler hangi yaygın düzen sorunlarını çözer?
Çözülen birincil sorun, içerik yönü değiştiğinde düzenlerin bozulmasıdır. Okuma yönü sağdan sola olduğunda fiziksel özellikler genellikle metnin taşmasına veya üst üste binmesine neden olur. Mantıksal özellikleri kullanarak, kenar boşluklarının ve dolgunun metin akışını doğru bir şekilde takip etmesini sağlarsınız. Bu, dil ayarlarından bağımsız olarak başlıklarınızın, altbilgilerinizin ve içerik bloklarınızın görsel dengesini korur.
- Çift yönlü metin ortamlarında çakışmayı önler.
- Karmaşık ızgara (grid) ve flexbox düzenlerinin bakımını basitleştirir.
- Dikey yazım modlarında tutarlı boşluk sağlar.
- Gereksiz dile özgü kuralları kaldırarak CSS dosyalarının boyutunu küçültür.
- Özel yazım modları gerektiren kullanıcılar için erişilebilirliği iyileştirir.
Bu özellikler eski tarayıcılarda kullanılabilir mi?
Modern tarayıcılar mantıksal özellikler için geniş desteğe sahiptir. Ancak eski sistemler için bir geri dönüş stratejisine ihtiyacınız olabilir. Yaygın bir desen, fiziksel özelliği bir geri dönüş olarak dahil etmek ve ardından mantıksal özelliği getirmektir. Tarayıcı tanımadığı özelliği yok sayacak, böylece yeni standartları benimserken uyumluluğu korumanıza olanak tanıyacaktır. Belirli kullanım durumunuzun beklendiği gibi oluşturulduğunu onaylamak için düzeninizi her zaman projeniz için belirtilen hedef tarayıcı listesinde test etmelisiniz.
Bu hafta nereden başlamalı?
Mevcut projenizdeki bir bileşeni denetleyerek başlayın. Bir düğme veya gezinti kartı seçin ve genişliğini ve dolgusunu inline-size ve padding-inline ile değiştirin. Tarayıcı geliştirici araçlarınızda writing-mode değerini değiştirdiğinizde öğenin nasıl tepki verdiğini gözlemleyin. Bu değişikliklerden emin olduktan sonra ana ızgaranız veya esnek kapsayıcılarınız gibi daha büyük düzen kapsayıcılarına geçin. Bu aşamalı yaklaşım, tüm site yapınızı bozmadan eşlemeyi öğrenmenize yardımcı olur.
Sık Sorulan Sorular
Mantıksal özellikler CSS Grid ile çalışır mı?
Evet, mantıksal özellikler CSS Grid ile mükemmel bir şekilde bütünleşir. Izgara yapınızı tanımlamak için blok ve satır içi boyutlandırmayla birlikte grid-template-columns ve grid-template-rows gibi özellikler kullanabilirsiniz. Bu, ızgara izlerinizin metnin mantıksal akışını takip etmesini sağlayarak birden fazla dili desteklemesi gereken karmaşık düzenleri yönetmeyi kolaylaştırır.
Herhangi bir performans etkisi var mı?
Mantıksal özellikler kullanılırken olumsuz bir performans etkisi yoktur. Bunlar, tıpkı fiziksel özellikler gibi tarayıcı motoru tarafından işlenen standart CSS özellikleridir. Bazı durumlarda, farklı diller için artık gereksiz geçersiz kılmalar yazmanıza gerek kalmadığı için CSS dosya boyutunda ufak bir azalma görebilirsiniz; bu da stil sayfalarınızı yalın ve verimli tutmanıza yardımcı olabilir.
Farklı yazım modlarını nasıl test edebilirim?
Yazım modlarını doğrudan tarayıcı geliştirici araçlarınızda test edebilirsiniz. Ögeler sekmesinde body veya kapsayıcı öğesini bulun. Stiller bölmesinde writing-mode özelliğini ekleyin ve vertical-rl veya sideways-lr olarak ayarlayın. Bu, gerçek kaynak kodunuzu değiştirmenize gerek kalmadan mantıksal özelliklerinizin boşluğu ve boyutlandırmayı doğru şekilde ayarladığını doğrulamanıza olanak tanır.
Tüm fiziksel özellikleri değiştirmeli miyim?
Yeni projeler için veya önemli yeniden düzenlemeler sırasında mantıksal özelliklere öncelik vermek genellikle daha iyidir. Her bir fiziksel özelliği hemen değiştirmeniz gerekmese de, mantıksal öncelikli bir yaklaşıma geçmek sitenizi daha erişilebilir ve bakımı daha kolay hale getirecektir. Kenar çubukları, menüler ve metin kapsayıcıları gibi metin akışına duyarlı öğelere odaklanın.
Okumaya devam edin: Web Tasarımı ve Geliştirme · Web Tasarımı