CSS ile uzun metinleri üç nokta ile kesme

Temmuze 2019'da güncellendi.

zingat.com'un satılık ve kiralık arama sonuç sayfalarını kodlarken her bir kutunun belirli yüksekliği olduğu için gelen başlığın harita açıldığında altında kalan metinlerin üzerine binmesi sorununu haletmek için Murat'la bu metni 2 satır ile sınırlandırmalıyız dedik. En güzel çözüm CSS ile webkit-line-clamp yardımı ile bunu yapmaktı. Acaba bu özelliğin desteği ne kadar diye biraz bakınca %92'ye(şu an %98 Temmuz 2019) yakın destek bizi bu kodu kullanmaya itti.

Daha önce uzun metinleri tek satırda sabitlemek için aşağıdaki yöntemi kullanıyordum.

Bu iş için bir mixin yazmak güzel oluyor.

{% highlight css %} .ucnokta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } {% endhighlight %}

yazıp, sonra kullanmak istediğimiz yere

{% highlight scss %} .baslik { .ucnokta; } {% endhighlight %}

yazarak işi basitleştirmiş oluyoruz.

Peki bu işi iki veya daha fazla satır için yapan bir CSS kodu yok mu? Var aşağıda :)

Kod çok basit.

-webkit-line-clamp: 3 tanımı ile kaç satırın görünmesi bu satır ile tanımlıyoruz. Yukarıdaki gibi bu tanımı bir mixin yapıp istediğimiz yerde kullanabiliriz.

Mobilde ve dar alanlarda güzel iş görüyor.

{% highlight scss %} // Clamps a block of text to a certain number of lines, // followed by an ellipsis in Webkit and Blink based browsers // Reference: http://dropshado.ws/post/1015351370/webkit-line-clamp @mixin text-clamp($lines: 2, $line-height: false) { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: $lines;

// Fallback for non-Webkit browsers
// (won't show `…` at the end of the block)
@if $line-height {
    max-height: $line-height * $lines * 1px;
}

} {% endhighlight %}

Data on support for the css-line-clamp feature across the major browsers from caniuse.com

Kaynaklar

Read more

CSS'de lightdark() fonksiyonuyla kolayca koyu / açık mod yazımı

CSS'de lightdark() fonksiyonuyla kolayca koyu / açık mod yazımı

Bir önceki yazımda bahsettiğim gibi CSS'in yeni özelliklerinin bazıları çığır açan özellikler, bazıları kulllanıcı deneyimini iyileştirme yönünde özellikler bazıları da lightdark() fonksiyonu gibi yazım kolaylığı sağlayan özellikler. lightdark() fonksiyonu mevcut uyumlu web yazımındaki büyük sorun olan aşağıdaki kullanımı daha anlaşılır ve düzenli hale getirmeye yarıyor. :root { color-scheme: light

By Fatih Hayrioğlu