Uzun metni / kelimeyi sabit bir genişlik aralığında nasıl kaydırabilir veya kesebilirim?


105

Aralıkta <span>lgasdfjksdajgdsglkgsadfasdfadfasdfadsfasdfasddkgjk</span>uzun bir aralıksız metin dizisi gibi herhangi bir şey yazdığımda , sözcük (ler) kırılacak veya sonraki satıra kaydırılacak sabit genişlikte bir yayılma alanı oluşturmak istiyorum .

Herhangi bir fikir?

Yanıtlar:


193

word-wrap:break-word;Yayılma genişliğiniz için çok uzunsa kelimeleri bozan CSS özelliğini kullanabilirsiniz .

span { 
    display:block;
    width:150px;
    word-wrap:break-word;
}
<span>VeryLongLongLongLongLongLongLongLongLongLongLongLongExample</span>


1
Asp.net etiket kontrolü için iyi çalışıyor. Teşekkürler!
— etlds

41
Eklemek white-space: normal, yolunuza çıkabilecek dış stili geçersiz kılmaya yardımcı olur :) .. inline-blockişe yarıyorblock
— Katia

Bir blok elemanın içindeki iki açıklığı kırmaya ne dersiniz?
— Daniel Springer

Bu cevabı kullandıktan sonra hala sorun yaşayanlar için, bir 'genişlik'
— Staccato,

Nerede kırılacağını bilmek için bir genişliğe sahip olması gerekir
— DFSFOT

40

Aşağıdakileri ekleyerek css'yi takip etmeyi deneyin white-space:

span {
    display: block;
    word-wrap:break-word;
    width: 50px;
    white-space: normal
}

5
Teşekkürler! Metnimin neden hiç kaydırılmadığını anlayamadım! beyaz boşluk nedeni buydu.
— mdiehl13

1
Sorunum white-space: normal
— şunları

Beyaz boşluk ve sarmaya ihtiyacınız olması durumunda kullanabileceğiniz bir referans tablosu: css-tricks.com/almanac/properties/w/whitespace
— Hritik

16

Bunun gibi

DEMO

  li span{
    display:block;
    width:50px;
    word-break:break-all;
}

arkadaşım genişlik koymak istediğimde: 50px; benim aralığımdaki değerler yalnızca 50px'de gösterilir ve diğer değerler sonraki satıra gider ve 50px'te gösterilir !!!
— محمد کثیری

1
@ mamal10 Maxime Lorant'ın çözümünü kontrol edin.
— Mr_Green

3

Varsayılan olarak a spanbirinline öğedir ... yani bu varsayılan davranış değildir.

Sen yapabilir spanekleyerek davranmasına şekilde display: block;sizin CSS.

span {
    display: block;
    width: 100px;
}


0

Sadece sorunun pratik kapsamını genişletmek için ve verilen cevaplara bir ek olarak: Bazen seçicileri biraz daha fazla belirtmek gerekebilir.

Tam aralığı display: inline-block olarak tanımlayarak, görüntüleri görüntülemekte zorlanabilirsiniz.

Bu nedenle, şöyle bir aralık tanımlamayı tercih ediyorum:

span {
  display:block;
  width:150px;
  word-wrap:break-word;      
}
p span, a span,
h1 span, h2 span, h3 span, h4 span, h5 span {
  display:inline-block;
}
img{
  display:block;
}

0

Benim durumumda, display: block tasarımı amaçlandığı gibi bozuyordu.

max-widthTesis, beni kurtardı.

ve stil için de kullanabilirsiniz text-overflow: ellipsis.

benim kodum

max-width: 255px
overflow:hidden
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.