2012-08-30 16 views
56

Tôi đang sử dụng Bootstrap và tôi có một bảng với một vài cột, phần cuối cùng đôi khi có một đoạn văn bản dài không có dấu cách. Tôi nhận thấy rằng dưới các kích thước màn hình nhất định, bảng sẽ tràn div cha của nó và tạo ra sự chồng chéo xấu xí với bảng anh chị em của nó.Các bảng Bootstrap tràn ngập với văn bản dài không gian

Tôi đã chơi xung quanh với nó và tôi nghĩ rằng vấn đề phải làm với văn bản không được định vị. Tôi đã tạo ra một jsfiddle thể hiện ý tôi.

Như bạn có thể thấy, bảng trên cùng bên trái trên cùng là hành vi tốt và chỉ đơn giản là phát triển theo chiều dọc để chứa nhiều văn bản hơn. Tuy nhiên, bảng dưới cùng bên trái dẫn đến một tràn trên bên phải do các văn bản dài không gian và cột bên phải của bảng dưới cùng bên trái gió lên "dưới" anh chị em của nó.

Có ai có bất kỳ mẹo nào về cách tôi có thể sửa lỗi này để văn bản rất dài bị cắt bớt hoặc bị chia nhỏ thành một dòng mới không?

Trả lời

109

Thêm phong cách sau đây để bạn <table>

.the-table { 
    table-layout: fixed; 
    word-wrap: break-word; 
} 

Sau đó, bạn có thể điều chỉnh bố trí của bạn qua CSS như bạn muốn.

+0

fyi chỉ, đọc ở đâu đó trên từ bọc bị mất giá, sử dụng quá dòng: break-word – unidha

+0

@unidha Tôi nghĩ bạn đã sai. Bạn có thể kiểm tra [draft draft] (http://www.w3.org/TR/css3-text/) hoặc [draft's draft] (http://dev.w3.org/csswg/css-text-3 /). Thuộc tính 'over-flow' không tồn tại. Thuộc tính mà chúng ta đang nói đến được đặt tên là 'overflow-wrap' hoặc' word-wrap' như là một thay thế. Bạn có thể cung cấp nguồn của bạn? – albertedevigo

+0

tôi đọc ở đây http://www.impressivewebs.com/new-css3-text-wrap/ – unidha

17

này hoạt động mà không buộc bố trí bảng để được cố định Chỉ cần thêm nó vào td hoặc bất kỳ

.is-breakable { 
    word-break: break-word; 
} 
+1

đẹp, đơn giản như vậy. –

0

Bạn có thể sử dụng dưới đây css. Điều này sẽ bao bọc văn bản và áp dụng ... ở cuối văn bản.

ví dụ: This_is_a_large_text sẽ được đổi thành This_is_a_lar ...

td { 
    max-width: 120px; 
    overflow: hidden; 
    text-overflow: ellipsis; 
    white-space: nowrap; 
} 

Bạn cũng có thể thêm mẹo công cụ để hiển thị giá trị văn bản hoàn chỉnh.

<td data-toggle="tooltip" title="${text}">${text}</td> 
1

Tôi đang gặp sự cố với các giải pháp này hoạt động trong Internet Explorer.

Tôi đã sử dụng kiểu sau để làm cho nó hoạt động.

<td style="word-break: break-all"> 
Các vấn đề liên quan