inline-size
yazma modu yatay olduğunda bir öğenin genişliğini veya writing-mode
dikey olduğunda öğenin yüksekliğini tanımlayan mantıksal bir özelliktir .
.element ( inline-size: 700px; writing-mode: vertical-lr; )
Yukarıdaki örnekten tahmin edebileceğiniz gibi, writing-mode
özellik metnin yönünü ve düzen akışını 90 derece değiştirir. Bunu yapmak istemenizin iki ana nedeni var.
İlk olarak, bir tasarım seçeneği olarak, bir öğe üzerinde dikey metin görüntülemek isteyebilirsiniz, örneğin bir başlık:
Satır içi boyut gibi mantıksal bir özelliği kullanmak isteyebileceğiniz ikinci - ve muhtemelen en önemli - neden, bir sitede uluslararasılaşmayı sağlamaktır. Çince, Japonca ve Korece gibi birçok Doğu Asya alfabesi yatay veya dikey olarak yazılabilir. Mantıksal özellikleri kullanarak, kullanıcının yazma moduna bağlı olarak öğelerin doğru boyutlandırma yönünü sağlayabiliriz.
Jen Simmons'ın CSS yazma modlarının derinliklerine inen bir makalesi ve sunumu var.
Neden güvenilir width
mülkü kullanamıyoruz ?
Yapabilirsin! Bununla birlikte, inline-size
içeriğinizin bağlamının bir kullanıcının diline göre değişmesinden endişe ediyorsanız , bunun yerine ulaşmak isteyebilirsiniz . width
fiziksel bir boyuttur, bu nedenle yazma modu değiştiğinde, bir öğe yatay genişlik boyutunu korur ve dikey olarak ayarlandığında bir düzeni bozar. Mantıksal özellikler, inline-size
bu değişikliklere yanıt verebilir ve uygun yönde genişlik uygulayabilir.
Örneğin, bir paragraf öğesi genişliği kullanarak 400 piksel genişliğinde ise, yazma modu olarak ayarlandığında vertical-lr
içerik, düzeni değiştirerek dönecek, ancak bu paragraf 400 piksel uzunluk yerine 400 piksel genişliğinde kalacaktır.
Gördün mü? Peki, inline-size
akıllı! Değere bağlı olarak genişlikten yüksekliğe değişir writing-mode
.
Sözdizimi
inline-size:
- İlk:
auto
- Şunlar için geçerlidir: aynı
height
vewidth
- Devralındı: hayır
- Yüzdeler: karşılık gelen fiziksel özellik için
- Hesaplanan değer:
height
ve ile aynıwidth
- Animasyon türü: hesaplanan değer türüne göre
Değerler
/* Length values */ inline-size: 250px; inline-size: 5rem;
/* Percentage values */ inline-size: 75%;
/* Keyword values */ inline-size: auto; inline-size: fit-content(5rem); inline-size: max-content; inline-size: min-content;
/* Global values */ inline-size: inherit; inline-size: initial; inline-size: unset;
auto
: Öğenin satır içi boyutu, üst öğesinin boyutuna bağlı olacaktır.fit-content()
: Bu işlev, bir kabın istenen boyuta kadar büyümesine izin verir, ardından metni sararak içeriği sağlanan boyut değerine etkili bir şekilde sıkıştırır. Kutu boyutlandırmanın yanı sıra Izgara kaplarında da kullanılabilir ve caniuse, satır içi boyutta işlev için güçlü destek gösterirken, testimiz daha az kesin sonuç verdi. Bunun nedeni Kutu Boyutlandırma Modülü Düzey 3 spesifikasyonunun Çalışma Taslağı durumu olabilir.max-content
: İçsel tercih edilen genişlik, yani öğenin metni olabildiğince uzatacağı ve kutunun metin kadar uzun olmasını sağlayacağı anlamına gelir.min-content
: İçsel minimum genişlik, yani öğenin kutusu, içeriğinin minimum boyutuna küçültülür. Kutu, en büyük metin dizesi boyutunda olacaktır.
Demo
Tarayıcı desteği
IE | Kenar | Firefox | Krom | Safari | Opera |
---|---|---|---|---|---|
Hayır | 79+ | 41+ | 57 | 12.1+ | 44+ |
Android Chrome | Android Firefox | Android Tarayıcı | iOS Safari | Opera Mobile |
---|---|---|---|---|
85+ | 79+ | 81+ | 12.2+ | 59+ |
Aşağıdaki işlevleri kullanma desteğinin, mülkün desteğinden farklı olabileceğini unutmayın:
fit-content()
max-content()
min-content()
Daha fazla bilgi
- CSS Mantıksal Özellikleri ve Değerleri Seviye 1 spesifikasyonu (Editör Taslağı)
- MDN Belgeleri
- CSS Mantıksal Özellikleri (CSS-Püf Noktaları)
- Mantıksal Özellikleri ve Değerleri Anlama (Smashing Magazine)
- CSS Mantıksal Özellikleri (Adrian Roselli)
- CSS Izgarasında Min ve Maks İçerik Boyutlandırma (Jen Simmons, video)
- CSS'de çift yönlü yatay kurallar (Hussein Al Hammad)