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.