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.