2010-07-31 68 views
31

Tôi có một bảng người dùng trong đó mỗi hàng có chứa tên, địa chỉ e-mail của họ và như vậy. Đối với một số người dùng hàng này là một dòng văn bản cao, đối với một số người khác hai, vv Nhưng tôi muốn rằng mỗi hàng của bảng là một dòng văn bản cao, cắt ngắn phần còn lại.Làm cách nào để giới hạn ô bảng thành một dòng văn bản bằng CSS?

tôi thấy hai câu hỏi sau:

Trong thực tế câu hỏi của tôi là chính xác tương tự như người đầu tiên, nhưng kể từ khi liên kết là chết tôi không thể nghiên cứu nó. Cả hai câu trả lời đều nói sử dụng white-space: nowrap. Tuy nhiên điều này không làm việc, có lẽ tôi đang thiếu một cái gì đó.

Vì tôi không thể hiển thị cho bạn mã, tôi sao chép các vấn đề:

<style type="text/css"> 
td { 
    white-space: nowrap; 
    overflow: hidden; 
    width: 125px; 
    height: 25px; 
} 
</style> 

<div style="width:500px"> 
<table> 
    <tr> 
     <td>lorem ipsum here... blablablablablablablablablabla</td> 
     <td>lorem ipsum here... blablablablablablablablablabla</td> 
     <td>lorem ipsum here... blablablablablablablablablabla</td> 
     <td>lorem ipsum here... blablablablablablablablablabla</td> 
    </tr> 
</table> 
</div> 

Without white-space bảng là 500px rộng, và các văn bản phải mất hơn một dòng.

Nhưng white-space: nowrap làm cho trình duyệt chỉ cần bỏ qua chỉ thị width và tăng chiều rộng của bảng cho đến khi tất cả dữ liệu phù hợp trong một dòng.

Tôi đang làm gì sai?

+0

Không có trong ví dụ này, nhưng trên trang web thực của tôi có. Dù sao tôi không nghĩ rằng không có một DOCTYPE có liên quan đến vấn đề này. – Tomaka17

Trả lời

21

tràn sẽ chỉ hoạt động nếu biết nơi bắt đầu xem xét nó bị tràn. Bạn cần phải thiết lập chiều rộng và chiều cao thuộc tính của <td>

mất 2

Hãy thử thêm table-layout: fixed; width:500px; để phong cách của bảng.

CẬP NHẬT 3

xác nhận điều này làm việc: http://jsfiddle.net/e3Eqn/

+0

Tôi đã thử trước khi đặt câu hỏi và nó cũng không hoạt động.Tôi đã chỉnh sửa câu hỏi để thêm nó – Tomaka17

+0

@ Tomaka17, tôi đã chỉnh sửa câu trả lời của mình để bao gồm các hướng dẫn bổ sung. –

+0

Có cách nào để chỉ nói "tràn là những gì kích thước phần tử sẽ là nếu yếu tố này không có trong nó"? – Claudiu

6

Thêm dòng sau vào stylesheet của bạn:

table{ 
    width: 500px; table-layout:fixed; 
} 

Bạn cần phải thêm chiều rộng bảng để đảm bảo rằng các tài sản tiếp theo sẽ phù hợp các phần tử theo kích thước được chỉ định. Thuộc tính bố cục bảng ở đây buộc trình duyệt sử dụng bố cục cố định trong phạm vi 500 pixel được đưa ra.

+0

Cảm ơn, tôi cung cấp cho bạn +1 Tuy nhiên tôi đánh dấu câu trả lời của Mike Sherov là được chấp nhận vì tôi đã học được sự tồn tại của tràn văn bản nhờ anh ấy – Tomaka17

+0

+1. Đó là khá gần. –

27

Thêm dòng sau vào stylesheet của bạn:

table { white-space: nowrap; }

2

<table border="1" style="width:200px"> 
 
<tr> 
 
    <td>Column 1</td><td>Column 2</td> 
 
</tr> 
 
<tr> 
 
    <td nowrap="nowrap"> 
 
    
 
\t \t Single line cell just do it</td> 
 
    <td> 
 
\t 
 
\t \t multiple lines here just do it</div></td> 
 
</tr> 
 
</table>

đơn giản và hữu ích. sử dụng mã trên cho

Các vấn đề liên quan