2012-11-12 14 views
27

Tôi có một thanh bên cố định ở bên trái trang web của tôi với nội dung có quá nhiều nội dung để hiển thị trên màn hình. Làm cách nào để tôi có thể cuộn nội dung đó trong khi vẫn cho phép bên phải có thể cuộn được?Cuộn bên trong thanh bên cố định

Tôi nghĩ rằng một đơn giản overflow-y: scroll; sẽ đủ. Có vẻ như tôi cần phải có chiều cao tối đa trên thanh bên, nhưng đặt độ cao tối đa thành 100% thì không có gì. Tôi chắc chắn đây là một mẫu mã đơn giản, nhưng than ôi, kỹ năng CSS của tôi đã bỏ rơi tôi hôm nay.

đơn giản ví dụ ở đây: http://jsfiddle.net/tvysB/1/

Trả lời

60

Đặt topbottom-0, do đó thanh bên là chính xác chiều cao tương tự như chế độ xem:

#leftCol { 
    position: fixed; 
    width: 150px; 
    overflow-y: scroll; 
    top: 0; 
    bottom: 0; 
} 

Dưới đây là fiddle của bạn: http://jsfiddle.net/tvysB/2/

+1

Doh, tôi thề là tôi đã đọc nó. Cảm ơn. –

+0

Tôi đã cố gắng để có được một tiêu đề cố định/bên cố định với nội dung cuộn (nav) làm việc cho một trang web di động, và không có may mắn cho đến khi tôi chạy qua câu trả lời này. Tôi đã không chắc chắn như thế nào 'dưới: 0;' sẽ ảnh hưởng đến sidebar của tôi, nhưng tôi nghĩ Tại sao không? Làm việc như người ở. Cảm ơn câu trả lời! –

+0

Ah đây là thủ thuật! Thay vì chiều cao: 100%; - trên cùng: 0; và đáy: 0; Đây là cách duy nhất để xử lý tình huống mà nav-side của bạn được cố định không ở phía trên cùng của khung nhìn. Nếu nó được, nói, 200px từ đầu, chiều cao: 100% thực sự sẽ làm cho nó ở nơi dưới cùng của nav-side của bạn là 200px bên dưới khung nhìn. – welbornio

3

Tôi có cùng sự cố này và đã khắc phục sự cố bằng cách sử dụng:

.WhateverYourNavIs { 
     max-height: calc(100vh - 9rem); 
     overflow-y: auto; 
} 

Điều này đặt chiều cao tối đa cho điều hướng của bạn theo cách đáp ứng với chiều cao của trình duyệt người dùng và sau đó cung cấp cho nó một cuộn khi cần.