2012-05-04 13 views
56

tôi nhận được một lỗi khi biên dịch này trong vòng một trang ASPX sử dụng Visual Studio 2010:Thuộc tính 'nowrap' được coi là lỗi thời. Bạn nên sử dụng cấu trúc mới hơn. Nó là gì?

<td valign="top" nowrap width="237"> 

Các thông báo lỗi là

"Attribute 'nowrap' is considered outdated. A newer construct is recommended."  

xây dựng gì được thông báo lỗi đề cập đến? Và nó hoạt động giống hệt như 'bừa bãi'?

Trả lời

91

Bạn có thể sử dụng nó như thế này, tôi hy vọng bạn sẽ không nhận được thông báo lỗi thời ngay bây giờ.

<td valign="top" style="white-space:nowrap" width="237"> 

Như đã chỉ bởi @ThiefMaster nó được khuyến khích để đưa width và valign để CSS (lưu ý: CSS gọi nó vertical-align).

1)

<td style="white-space:nowrap; width:237px; vertical-align:top;"> 

2) Chúng ta có thể tạo ra một lớp CSS như thế này, nó là tao nhã hơn cách

Trong phần phong cách

.td-some-name 
{ 
    white-space:nowrap; 
    width:237px; 
    vertical-align:top; 
} 

Trong phần HTML

<td class="td-some-name"> 
+2

Tại sao không di chuyển 'chiều rộng' và' valign' vào CSS? – ThiefMaster

+0

Đề xuất tốt cho phép tôi làm điều đó – Adil

3

Mặc dù CSS xác định thuộc tính text-wrap, nó không được hỗ trợ bởi bất kỳ trình duyệt chính nào, nhưng có thể được hỗ trợ rộng rãi white-space tài sản giải quyết vấn đề của bạn.

9

Có một số ways to try to prevent line breaks và cụm từ "cấu trúc mới hơn" có thể đề cập đến nhiều hơn một cách — đó thực sự là cách diễn giải hợp lý nhất. Họ có lẽ chủ yếu là suy nghĩ về việc khai báo CSS white-space:nowrap và có thể là ký tự không dấu cách. Các cách khác nhau là không tương đương với, xa cả về lý thuyết và đặc biệt là trong thực tế, mặc dù trong một số trường hợp nhất định, các cách khác nhau có thể tạo ra cùng một kết quả.

Có lẽ không có gì thực sự có được bằng cách chuyển từ thuộc tính HTML sang cách CSS hơi vụng về, và bạn chắc chắn sẽ mất khi phong cách trang tính bị tắt. Nhưng ngay cả thuộc tính nowrap cũng không hoạt động trong mọi tình huống. Nói chung, những gì hoạt động rộng rãi nhất là đánh dấu nobr, chưa bao giờ thực hiện theo cách của mình cho bất kỳ thông số kỹ thuật nào nhưng vẫn còn sống và đá: <td><nobr>...</nobr></td>.

+1

Sử dụng '' ngắt thông số kỹ thuật và thường bị cau mày. Không phải tất cả các trình duyệt đều được đảm bảo hỗ trợ nó. Kiểm soát gói là một nhiệm vụ cho CSS theo định nghĩa. [Thông tin thêm] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr) – Zenexer

+2

@Zenexer, 'nobr' thực sự được hỗ trợ bởi tất cả các trình duyệt. Không cần trình duyệt để hỗ trợ CSS và một số thực sự không, ít nhất là trong một số trường hợp.Vì HTML có một phần tử cho * bắt buộc * một ngắt dòng, nó chỉ là hợp lý mà nó có (như thực sự đã được triển khai) cũng là một phần tử cho các ngắt dòng * prevent *. –

+0

Sử dụng '
' cũng thường bị cau mày. ;) – Zenexer

1

Nếu HTML và sử dụng bootstrap, chúng có helper class.

<span class="text-nowrap">1-866-566-7233</span>