Bir div bloğundaki metnin taşmasını önleyebilir miyim?


Yanıtlar:


164

Div'deki taşan metnin gizlenmek veya kaydırma çubuğu yapmak yerine otomatik olarak yeni satır olmasını istiyorsanız,

word-wrap: break-word

Emlak.



Kullanıcının cevap olarak bunu kontrol etmesi gerekir. Bugün benim için çalıştı! Teşekkürler dostum!
Eduardo A. Fernández Díaz

aman tanrım bunun için çok teşekkür ederim, cevabınızla çözebileceğim bazı problemler için kelimenin tam anlamıyla delirmişim !! XD
Sven



18

Bunu CSS ile kontrol edebilirsiniz, birkaç seçenek vardır:

  • hidden -> Taşan tüm metinler gizlenecektir.
  • görünür -> Metnin görünür şekilde taşmasına izin verin.
  • kaydırma -> metin taşarsa kaydırma çubukları yerleştirin

Umarım yardımcı olur.


15

Basitçe şunu kullanın:

white-space: pre-wrap;      /* CSS3 */   
white-space: -moz-pre-wrap; /* Firefox */    
white-space: -pre-wrap;     /* Opera <7 */   
white-space: -o-pre-wrap;   /* Opera 7 */    
word-wrap: break-word;      /* IE */

11

başka bir css özelliği var:

white-space : normal;

Beyaz boşluk özelliği, metnin uygulandığı öğede nasıl işleneceğini kontrol eder.

div {

  /* This is the default, you don't need to
     explicitly declare it unless overriding
     another declaration */
  white-space: normal; 

}

1
Bu, overflow: hidden;
koppor


4

overflow: scroll? Veya otomatik. stil özniteliğinde.



1

Div'inizin css'de ayarlanmış bir yüksekliği varsa, div'in dışına taşmasına neden olur.

Her zaman div üzerinde minimum yüksekliğe sahip olmanız gerekiyorsa, div'e bir minimum yükseklik verebilirsiniz.

Min-height IE6'da çalışmaz, eğer IE6'ya özgü bir stil sayfanız varsa, IE6 için normal bir yükseklik verebilirsiniz. IE6'da içerisindeki içeriğe göre yükseklik değişir.


1

Min-genişliği css'de ayarlayabilirsiniz, örneğin:

.someClass{min-width: 980px;}

Kırılmayacak, yine de başa çıkmanız gereken kaydırma çubuğuna sahip olacaksınız.


1

Soruna CSS'nizin hangi bölümünün neden olduğunu nasıl yakalayacağınıza ilişkin öneriler:

1) style="height:auto;"tüm<div> öğeleri ayarlayın ve tekrar deneyin.

2) Kutunuzun ne kadar geniş bir alanı kapladığını görmek style="border: 3px solid red;"için tüm <div>öğeleri ayarlayın <div>.

3) height:#px;CSS'nizden tüm css özelliklerini kaldırın ve baştan başlayın.

Yani mesela:

<div id="I" style="height:auto;border: 3px solid red;">I
    <div id="A" style="height:auto;border: 3px solid purple;">A
        <div id="1A" style="height:auto;border: 3px solid green;">1A
        </div>
        <div id="2A" style="height:auto;border: 3px solid green;">2A
        </div>
    </div>
    <div id="B" style="height:auto;border: 3px solid purple;">B
        <div id="1B" style="height:auto;border: 3px solid green;">1B
        </div>
        <div id="2B" style="height:auto;border: 3px solid green;">2B
        </div>
    </div>
</div>

1
.NonOverflow {
    width: 200px; /* Need the width for this to work */
    overflow: hidden;
}
<div class="NonOverflow">
    Long Text
</div>

dışında çok dilli metinde uzun kelimelerin bazı karakterlerinin görüntülenmemesine neden olur.
Bhupi

0

!! Önümüzde sabit kodlu takas !! Çevreleyen koda ve ekran çözünürlüğüne bağlı olarak bu, farklı / istenmeyen davranışlara neden olabilir.

Gizli taşma söz konusu değilse ve doğru tireleme gerekiyorsa, kelimenin / metnin bozulmasını istediğiniz yerde yumuşak tire HTML varlığını kullanabilirsiniz. Bu şekilde bir kırılma noktasını manuel olarak önceden belirleyebilirsiniz.

&shy;

Kısa çizgi, yalnızca sözcüğün çevresindeki kapsayıcıdan taşmaması için kesilmesi gerektiğinde görünecektir.

Misal:

<div class="container">
  foo&shy;bar
</div>

Kap yeterince genişse ve metin kapsayıcıdan taşmayacaksa sonuç:

foobar

Kap küçükse ve metin aslında kapsayıcıdan taşacaksa sonuç:

foo-
bar

.container{
  background-color: green;
  max-width: 30px;
}
Example 1 - container to small => text overflows container:

<div class="container">
  foobar
</div>

Example 2 - using soft hyphen => text breaks at predetermined break point:

<div class="container">
  foo&shy;bar
</div>

Example 3 - using soft hyphen => text still overflowing because the text before the soft hyphen is to long:

<div class="container">
  foobar&shy;foo
</div>

Daha fazla bilgi: https://en.wikipedia.org/wiki/Soft_hyphen

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.