Bu iyi desteklenen CSS işlevlerini kullanarak öğe boyutlandırmayı kontrol etmeyi, uygun boşlukları korumayı ve akıcı tipografiyi uygulamayı öğrenin.
Duyarlı tasarım daha ayrıntılı hale geldikçe CSS, yazarlara daha fazla kontrol sağlamak için sürekli olarak gelişiyor. Artık tüm modern tarayıcılarda desteklenen min(), max() ve clamp() işlevleri, web siteleri ve uygulamalar oluşturmayı daha dinamik ve duyarlı hale getiren en yeni araçlar arasındadır. Bu işlevleri kullanarak öğe boyutlandırmayı ve yeniden boyutlandırmayı kontrol edebilir, öğeler arasındaki boşluğu koruyabilir ve esnek ve akıcı tipografi oluşturabilirsiniz.
CSS Değerleri ve Birimleri Seviye 4
calc(),min(),max()veclamp()matematik işlevleri; toplama (+), çıkarma (-), çarpma (*) ve bölme (/) içeren matematiksel ifadelerin bileşen değerleri olarak kullanılmasına olanak tanır.
Tarayıcı desteği
min()
max()
clamp()
Kullanım
min(), max() ve clamp() ifadelerini, anlamlı olduğu durumlarda herhangi bir CSS ifadesinin sağ tarafında kullanabilirsiniz. min() ve max() için bir değer listesi sağlarsınız ve tarayıcı, en küçük veya en büyük değeri belirler. Örneğin, width: min(1rem, 50%, 10vw) durumunda tarayıcı, bu göreceli birimlerden hangisinin en küçük olduğunu hesaplar ve öğenin genişliği için bu değeri kullanır.
max() işlevi, maksimum değer için aynı işlemi yapar.
clamp() özelliğini kullanmak için üç değer girin: minimum değer, hesaplamanın yapılacağı ideal değer ve maksimum değer.
Bu işlevleri <length>, <frequency>, <angle>, <time>, <percentage>, <number> veya <integer> değerlerine izin verilen her yerde kullanabilirsiniz. Bunları tek başına (font-size: max(0.5vw, 50%, 2rem) gibi), calc() ile (font-size: max(calc(0.5vw - 1em), 2rem) gibi) veya birleşik (font-size: max(min(0.5vw, 1em), 2rem) gibi) kullanabilirsiniz.
Aşağıda, bu işlevlerin nasıl kullanılacağına dair bazı örnekler verilmiştir.
Mükemmel genişlik
Robert Bringhurst'ün The Elements of Typographic Style adlı kitabına göre, "45 ila 75 karakterlik bir uzunluk, metin boyutunda serifli bir metin yüzüyle ayarlanmış tek sütunlu bir sayfa için tatmin edici bir satır uzunluğu olarak kabul edilir."
Metin bloklarınızın 45 ila 75 karakter genişliğinde kalmasını sağlamak için clamp() ve ch (0 genişlikte karakter ilerlemesi) birimini kullanın:
p {
width: clamp(45ch, 50%, 75ch);
}
Bu, tarayıcının paragrafın genişliğini belirlemesine olanak tanır. Varsayılan olarak genişliği% 50'ye ayarlar. %50, 45ch değerinden küçükse genişlik olarak 45ch değerini, %50, 75ch değerinden büyükse 75ch değerini kullanır.
Bunu yalnızca min() veya max() kullanarak da bölebilirsiniz. Öğenin her zaman 50% genişliğinde olmasını ve daha büyük ekranlarda 75ch genişliğini aşmamasını istiyorsanız maksimum boyutu ayarlamak için width: min(75ch, 50%); kullanın.
Benzer şekilde, max() işlevini kullanarak okunabilir metin için minimum boyut ayarlayabilirsiniz (ör. width: max(45ch, 50%);). Burada tarayıcı, daha büyük olan değeri seçer. Yani öğe 45ch veya daha geniş olmalıdır.
Dolgu yönetimi
Minimum dolgu boyutunu ayarlamak için max() özelliğini de kullanabilirsiniz. Bu örnek, okuyucu Caluã de Lacerda Pataca'nın şu fikri paylaştığı CSS Tricks'ten alınmıştır: Bir öğenin daha büyük ekran boyutlarında ek dolgusu olsun ancak daha küçük ekran boyutlarında minimum dolgu olsun. Bunu yapmak için calc() veya max() kullanın ve öğenin her iki tarafındaki minimum dolguyu çıkarın: calc((100vw - var(--contentWidth)) / 2) veya max(2rem, 50vw - var(--contentWidth) / 2). Stil sayfanızda şu şekilde görünmelidir:
footer {
padding: var(--blockPadding) max(2rem, 50vw - var(--contentWidth) / 2);
}
Akışkan tipografi
Mike Riethmeuller, akışkan tipografiyi etkinleştirmek için clamp() işlevini kullanarak minimum ve maksimum yazı tipi boyutunu ayarlayan ve bu boyutlar arasında ölçeklendirme yapılmasına olanak tanıyan bir tekniği popüler hale getirdi.
clamp(), öncesinde yazı tipi ölçeklendirmeyi tasarlamak için karmaşık stil dizeleri gerekiyordu. Artık tarayıcının işi sizin yerinize yapmasına izin verebilirsiniz. Kabul edilebilir minimum yazı tipi boyutunu (ör. başlık için 1.5rem), maksimum boyutu (ör. 3rem) ve ideal boyutu (ör. 5vw) ayarlayın. Artık çok az kod kullanarak, sınırlayıcı minimum ve maksimum değerlere ulaşana kadar sayfanın görüntü alanı genişliğiyle ölçeklenen bir tipografiye sahipsiniz:
p {
font-size: clamp(1.5rem, 5vw, 3rem);
}