CSS

CSS calc() Kullanımı

CSS3 calc() işlevi, özellik değerleri üzerinde matematiksel işlemler gerçekleştirmemize izin verir. Örneğin, bir elemanın genişliğine ilişkin statik piksel değerlerini bildirmek yerine, genişliğin iki veya daha fazla sayısal değer eklenmesinin sonucu olduğunu belirtmek için calc() işlevini kullanabiliriz.

Neden CSS calc()?

SASS gibi CSS ön işlemcileri kullandıysanız, yukarıdaki örnek karşılaşmış olabileceğiniz bir şeydir.

Ancak, calc() işlevi iki nedenden dolayı daha iyi bir çözüm sunar. İlk önce farklı birimleri birleştirebiliriz. Spesifik olarak, yüzdeler ve görünüm portları gibi göreceli birimleri piksel gibi mutlak birimlerle karıştırabiliriz. Örneğin, bir piksel değerini yüzde değerinden çıkaracak bir ifade oluşturabiliriz.

Bu örnekte, .foo öğesi her zaman üst genişliğinin% 100’ünden 50 piksel daha küçük bir genişliğe sahip olacaktır.

İkincisi, calc() ile hesaplanan değer, ifadenin sonucu değil, ifadenin kendisidir. CSS ön işlemcileri ile matematiksel ifadeler yaparken, tarayıcıya verilen değer ifadenin sonuç değeridir.

Ancak, calc() ile tarayıcı tarafından ayrıştırılan değer gerçek calc() ifadesidir.

Bunun anlamı, tarayıcıdaki değerlerin daha dinamik olabileceği ve görünüm alanı değiştikçe adapte olabileceğidir. Görüntü alanı yüksekliği eksi mutlak bir değere sahip olan bir öğeye sahip olabiliriz ve görüntü alanı değiştikçe adapte olur.

CSS Calc() kullanımı

Calc () işlevi, sayısal özellik değerleriyle toplama, çıkarma, çarpma ve bölme hesaplamalarını yapmak için kullanılabilir. Spesifik olarak,  <length><frequency><angle><time><number>, ve <integer> veri türleriyle kullanılabilir.

İşte birkaç örnek –

İç içe calc() kullanımı

calc() işlevleri iç içe geçebilir. Bununla birlikte, iç fonksiyonlar parantez içine alınmış basit ifadeler olarak ele alınacaktır. Örneğin, aşağıdaki iç içe ifadeyi alın –

Bu işlevin hesaplanan değeri aşağıdaki gibi olacaktır –

calc() ‘ı bir değer olarak desteklemeyen tarayıcılar için, özellik-değeri ifadesinin tamamı yoksayılır. Bu, destekleyici olmayan tarayıcılar tarafından kullanılacak bir geri dönüş statik değerini kolayca sağlayabileceğimiz anlamına gelir.

CSS calc() özelliğini ne zaman kullanabiliriz?

calc() işlevi çeşitli durumlarda yararlı olabilir.

Örnek 1 – Öğeleri Ortalama

calc() kullanımı bize bir konteynerin içindeki yatay ve dikey olarak yatay elemanların yaşlanma problemine başka bir çözüm sunar. Alt öğenin boyutlarını biliyorsak, tipik bir çözüm, öğeyi yükseklik ve genişliğinin yarısı kaydırmak için negatif kenar boşlukları kullanmaktır;

calc() işlevini kullanarak tüm bunları yalnızca üst ve sol özelliklerde kullanarak başarabiliriz.

Flexbox’ın tanıtımıyla, bunun gibi yöntemlere ihtiyaç duyulması daha az olasıdır. Bununla birlikte, Flexbox’ın kullanılamadığı durumlarda, örneğin Elemanın kesinlikle yerleştirilmesi veya sabitlenmesi gerekiyorsa, bu yöntem yararlı olabilir.

Örnek 2 – Bir Kök Izgara Boyutu Oluşturma

calc() işlevi, rem ünitesinden görünüm alanı tabanlı bir ızgara oluşturmak için kullanılabilir. Bunu, kök elemanın font boyutunu tam görünüm genişliğinin bir parçası olacak şekilde ayarlayarak yapabiliriz.

Şimdi 1rem, viewport genişliğinin 1 / 30’una karşılık gelecek. Sayfamızdaki herhangi bir metin için bu, görünüm alanına göre otomatik olarak ölçeklendirileceği anlamına gelir. Ayrıca, aynı görünüm boyutuna bakıldığında, aynı boyuttaki metin, görünümün gerçek boyutu ne olursa olsun ekranda her zaman olacaktır.

Sayfadaki diğer metin dışı öğeleri rem birimlerini kullanarak boyutlandırırsak, bu davranışı da takip ederler. 1rem genişliğinde bir eleman her zaman görünüm genişliğinin 1 / 30’unda olacaktır.

Örnek 3 – Netlik

Son olarak, calc() hesaplamaları daha net yapmak için faydalı olabilir. Örneğin, bir grup öğenin üst konteynerinin 1 / 6’sında olmasını istiyorsanız, bu şekilde yazabilirsiniz –

Bununla birlikte, yazmak için CSS’yi okuyan insanlar için çok daha net olurdu –

Izgara Sistemi oluşturmak gibi calc () ile yapabileceğimiz daha birçok şey var. Kesinlikle CSS’deki en yeni özelliklerden biri.

 

 

 

 

 

Kaynak:

bitsofco.de/how-calc-works/

Etiketler

Yorum Yap

Yorum yapmak için tıklayın