2010-09-15 48 views
7

Tôi có một bảng hiển thị các bản ghi từ DB động. Tôi chỉ cần sửa chiều cao của bảng, sao cho bảng có một cửa sổ cuộn xuống trong bảng nếu nó có số lượng lớn các hàng. Điều này là để người dùng không cần phải cuộn toàn bộ trang?bảng html chiều cao cố định?

Điều này có thể ...?

Cảm ơn trước ...

Trả lời

13

Một giải pháp này sẽ được sử dụng một -layer <div> xung quanh <table>, nơi bạn sử dụng phong cách thuộc tính với: overflow: auto; max-height: (whatever height you want here)

Như một ví dụ:

<div id="mainHolder" style="overflow: auto; max-height: 400px;"> 
    <table> 
    ... Lots of data ... 
    </table> 
</div> 

Điều này sẽ tạo ra một bảng có thể tăng trưởng chiều cao, nhưng nó sẽ bị hạn chế trong lớp div và bạn sẽ tự động nhận thanh cuộn khi nội dung phát triển lớn hơn t han 400px.

Với jQuery bạn cũng có thể làm điều gì đó như thế này:

<script type="text/javascript"> 
window.onresize = doResize; 

function doResize() { 
    var h = (typeof window.innerHeight != 'undefined' ? window.innerHeight : document.documentElement.clientHeight) - 20; 
    $('#mainHolder').css('max-height', h); 
    $('#mainHolder').css('height', h); 
}; 

$(document).ready(function() { doResize(); }); 
</script> 
+0

giải pháp tốt, nhưng lưu ý rằng max-height không hoạt động trong các phiên bản cũ của Explorer, vì vậy nếu bạn cần hỗ trợ IE6, bạn sẽ cần phải làm thêm hack. – Spudley

+0

Internet Explorer 6 sẽ sớm ra khỏi thị trường. Nếu không, nó thực sự nên được. Chắc chắn, tôi cũng là một fan hâm mộ của những thứ trình duyệt chéo, nhưng tôi muốn các trình duyệt để hỗ trợ tiêu chuẩn-css là tốt. Và IE6 là một trình duyệt cũ như vậy, nó không nên được xem xét. – NoLifeKing

+0

May mắn của tôi, khách hàng của tôi đang làm việc với IE6 ... vì vậy tôi sẽ làm gì ... bất kỳ mẹo nào khác ở trên – soorajthomas

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