Bazı durumlarda gelen verinin uzunluğu bilinmediği için css ile belli bir genişlik verip taşan kısımları üç nokta koyarak kısaltmamız gerekiyor. Bu gibi durumlar için css’de text-oveflow özelliğini kullanıyoruz. ellipsis değeri bize bu görevi sağlıyor. Ancak taşanların gizlenmesi için ve yazının hiçbir zaman 2. satıra inmemesi için oveflow ve white-spcae özellikleri de bize lazım. Örnek vermek gerekirse;
<div>test et bakalım ne kadar uzun bir yazı..</div>
Bunu kısaltmak istediğimde yapmam gereken;
div {
width: 60px;
overflow: hidden; /* taşanları gizle */
white-space: nowrap; /* alt satıra hiç inme */
text-overflow: ellipsis; /* eğer uzunsa üç nokta koy */
}
Ben SCSS ve LESS içinde sizlere mixinlerimi paylaşayım, kullanmak isteyenler için daha kolaylık olur.
SCSS dotdotdot Mixin
@mixin dotdotdot($width, $display: block){
width: $width;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: $display;
}
Kullanımı;
div {
@include dotdotdot(60px);
}
LESS dotdotdot Mixin
.dotdotdot(@width, @display: block){
width: @width;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
display: @display;
}
Kullanımı;
div {
.dotdotdot(60px);
}
İşte bu kadar, kolay gelsin ????