2011-01-10 37 views
63

Tôi có đánh dấu sau:CSS: làm thế nào để có được thanh cuộn cho div bên trong container của chiều cao cố định

<div class="FixedHeightContainer"> 
    <h2>Title</h2> 
    <div class="Content"> 
    ..blah blah blah... 
    </div> 
</div> 

CSS trông như thế này:

.FixedHeightContainer 
{ 
    float:right; 
    height: 250px; 
    width:250px; 
} 
.Content 
{ 
    ??? 
} 

Do nội dung của nó, chiều cao của div.Content thường lớn hơn không gian được cung cấp bởi div.FixedHeightContainer. Tại thời điểm này, div.Content vui vẻ kéo dài ra khỏi đáy của div.FixedHeightContainer - không phải tất cả những gì tôi muốn.

Làm cách nào để chỉ định rằng div.Content có thanh cuộn (tốt nhất là theo chiều dọc, nhưng tôi không kén chọn) khi chiều cao của nó quá lớn để vừa?

overflow:autooverflow:scroll không làm gì cả, vì một số lý do kỳ lạ.

Trả lời

109

đặt overflow nên cẩn thận, nhưng bạn cũng cần đặt chiều cao là Content. Nếu thuộc tính chiều cao không được đặt, div sẽ phát triển theo chiều dọc cao như cần và thanh cuộn sẽ không cần thiết.

Xem ví dụ: http://jsfiddle.net/ftkbL/1/

+0

OK - cảm ơn. Vì vậy, tôi cần phải xác định chiều cao cho div.Content? Tôi giả định nó sẽ làm việc ra khỏi container rằng nó sẽ không phù hợp, và áp dụng thanh cuộn trên cơ sở đó. – David

+6

Nếu bạn cho 'Nội dung' một chiều cao cố định, bạn không nên đặt' FixedHeightContainer' một chiều cao cố định, bởi vì bạn không thể biết tiêu đề của mình cao bao nhiêu, vì vậy 'Nội dung' có thể bị đẩy ra ngoài. Xem: http://jsfiddle.net/ftkbL/2/ Bạn nên đặt chiều cao cố định ** chỉ ** trên phần tử có 'overflow: scroll'. Xem http://jsfiddle.net/ftkbL/3/ hoặc http://jsfiddle.net/ftkbL/4/ – RoToRa

+0

Tôi thấy điểm của bạn (từ liên kết đầu tiên) nhưng văn bản tiêu đề được biết và quá ngắn để vượt qua một dòng trừ khi người dùng thổi phồng văn bản đến kích thước không thực tế. – David

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