Tôi có thể ngăn văn bản trong một khối div tràn ra không?


Câu trả lời:


163

Nếu bạn muốn văn bản tràn trong div tự động tạo dòng mới thay vì bị ẩn hoặc tạo thanh cuộn, hãy sử dụng

word-wrap: break-word

bất động sản.



Người dùng cần kiểm tra xem đây là câu trả lời. Nó làm việc cho tôi ngày hôm nay! Cảm ơn bạn thân!
Eduardo A. Fernández Díaz

Ôi trời ơi, cảm ơn bạn rất nhiều vì điều này, tôi thực sự phát điên vì một số vấn đề mà tôi có thể giải quyết bằng câu trả lời của bạn !! XD
Sven



18

Bạn có thể điều khiển nó bằng CSS, có một vài tùy chọn:

  • ẩn -> Tất cả văn bản tràn sẽ bị ẩn.
  • hiển thị -> Để văn bản tràn ra hiển thị.
  • cuộn -> đặt thanh cuộn nếu văn bản tràn

Hy vọng nó giúp.


15

Đơn giản chỉ cần sử dụng này:

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

có một tài sản css khác:

white-space : normal;

Thuộc tính khoảng trắng kiểm soát cách xử lý văn bản trên phần tử được áp dụng.

div {

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

}

1
Điều này thực sự hữu ích khi kết hợp với tràn: ẩn;
koppor 18/03/13




1

Nếu div của bạn có chiều cao được đặt trong css sẽ khiến nó tràn ra ngoài div.

Bạn có thể cung cấp cho div một chiều cao tối thiểu nếu bạn cần phải có chiều cao tối thiểu trên div mọi lúc.

Chiều cao tối thiểu sẽ không hoạt động trong IE6, nếu bạn có biểu định kiểu cụ thể IE6, bạn có thể cung cấp cho nó chiều cao thông thường cho IE6. Thay đổi chiều cao trong IE6 theo nội dung bên trong.


1

Bạn chỉ có thể đặt chiều rộng tối thiểu trong css, ví dụ:

.someClass{min-width: 980px;}

Nó sẽ không bị hỏng, tuy nhiên bạn vẫn sẽ có thanh cuộn để xử lý.


1

Các đề xuất về cách nắm bắt phần nào trong CSS của bạn đang gây ra sự cố:

1) thiết lập style="height:auto;"trên tất cả các <div>yếu tố và thử lại.

2) Đặt style="border: 3px solid red;"trên tất cả các <div>yếu tố để xem diện tích của <div>hộp của bạn chiếm bao nhiêu.

3) Lấy đi tất cả các height:#px;thuộc tính css từ CSS của bạn và bắt đầu lại.

Ví dụ:

<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>

trong văn bản đa ngôn ngữ khác, nó làm cho một số ký tự của các từ dài bị ẩn khỏi màn hình.
Bhupi

0

!! Mã hóa cứng trước mắt !! Tùy thuộc vào mã xung quanh và độ phân giải màn hình, điều này có thể dẫn đến hành vi khác nhau / không mong muốn

Nếu lỗi tràn ra ngoài câu hỏi và cần phải có dấu gạch nối chính xác, bạn có thể sử dụng thực thể HTML gạch nối mềm nơi bạn muốn từ / văn bản bị ngắt. Bằng cách này, bạn có thể xác định trước một điểm phá vỡ bằng tay.

&shy;

Dấu gạch nối sẽ chỉ xuất hiện khi từ cần ngắt để không tràn vào vùng chứa xung quanh.

Thí dụ:

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

Kết quả nếu vùng chứa đủ rộng và văn bản sẽ không tràn vào vùng chứa:

foobar

Kết quả nếu vùng chứa nhỏ và văn bản sẽ thực sự tràn vào vùng chứa:

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>

Thông tin khác: https://en.wikipedia.org/wiki/Soft_hyphen

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.