2015-01-21 15 views
5

Với tuyệt đối, nó cuộn nhưng không có được 100% trong height:Làm cách nào để tạo toàn bộ màn hình div và có thể cuộn được?

.class { 
position: absolute; 
left: 0; 
right: 0; 
top: 0; 
bottom: 0; 
height: 100%; 
width: 100%; 
z-index: 1000000; 
background: rgba(0, 0, 0, 0.9); 
} 

Với cố định, nó được 100% về chiều cao nhưng không di chuyển

.class { 
position: fixed; 
left: 0; 
top: 0; 
height: 100%; 
width: 100%; 
z-index: 1000000; 
background: rgba(0, 0, 0, 0.9); 
} 

Tôi muốn tránh thêm một phần tử cố định vào phần tử con và làm cho nó overflow: scroll

+0

Trong CSS của bạn với 'số các mục: absolute', container với' .class' sẽ lấp đầy màn hình (hoặc đưa vào các kích thước của khối tổ tiên gần nhất với vị trí không tĩnh). Nếu bạn thêm đủ nội dung vào vùng chứa, thanh cuộn dọc sẽ xuất hiện vì nội dung thừa sẽ kích hoạt tình trạng tràn (trừ khi bạn đặt tràn để ẩn). Màu nền được vẽ trên vùng chứa '.class' và không áp dụng cho nội dung tràn. Bạn cần một thùng chứa lồng nhau để làm việc này. Vui lòng nhận xét trong bài đăng gốc của bạn. –

+1

@MarcAudet [các phần tử mức khối có tràn mặc định là 'tràn: hiển thị;'] (http://www.w3.org/TR/CSS21/visufx.html#overflow) có nghĩa là nó sẽ không bắt đầu cuộn theo mặc định . Thay vào đó nó sẽ chỉ tràn container của nó và kích hoạt cuộn trên thùng chứa cha gần nhất mà có thể đi tất cả các con đường lên đến khung nhìn. Điều này sẽ dẫn đến một hộp lấp đầy chiều cao và chiều rộng của khung nhìn nhưng vẫn có nội dung cần được cuộn qua cửa sổ. Kết quả không đẹp: http://jsbin.com/docojuyedi/1 –

Trả lời

5

Bạn cần phải thêm overflow:auto để nó cuộn nếu nội dung tràn container.

.class { 
    ... 
    overflow:auto; 
} 

http://jsbin.com/kuqaqumude/1/edit?html,css,output

Để biết thêm thông tin chi tiết liên quan đến overflow: autooverflow: visible,
see: http://www.w3.org/TR/CSS21/visufx.html#overflow-clipping

+0

nếu tôi thêm điều đó vào tập đầu tiên của css nơi tôi sử dụng tuyệt đối, nó không hoạt động –

+0

nếu nội dung không tràn bộ chứa của nó thì sao? Tôi muốn các container được đầy đủ 100% chiều cao regadless –

+1

@ rob.m [Nó vẫn hoạt động] (http://jsbin.com/yekoxisulo/2/edit). Bạn vẫn cần độ rộng: 100%; height: 100% ' –

3

Trước tiên, nếu bạn muốn có chiều cao và chiều rộng 100%, bạn sẽ phải xác định GÌ đó là gì. Vì vậy, bạn phải nói cho html/body rằng kích thước chúng có, là 100% chiều rộng/chiều cao.

Bây giờ bạn không muốn để trang cuộn xuống, nếu văn bản đi ra khỏi div, bởi vì bạn sẽ thấy không gian màu trắng nếu bạn làm. Vì vậy, thiết lập overflow-y để cuộn, do đó, nó sẽ di chuyển bên trong div, và không phải trong tài liệu chính nó.

html,body{ 
    width: 100%; 
    height: 100%; 
    margin: 0; 
    padding: 0; 
} 
.fullwidth{ 
    width:100%; 
    height: 100%; 
    background-color: red; 
    overflow-y: scroll; 
} 

Đây là một fiddle làm việc:

WORKING FIDDLE

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