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