2013-01-01 38 views
6

Tôi biết nó giống như một câu hỏi đã được hỏi nhiều lần, nhưng tôi không thể tìm ra giải pháp cho tình huống rất cụ thể đó.Dọc theo chiều dọc một div có chiều cao thay đổi trong div là 100% của chế độ xem

Đây là wireframe cơ bản của cách bố trí của tôi:

enter image description here

Về cơ bản, tôi đã có một vài divs với nền tảng khác nhau mà phải mất 100% chiều rộng và 100% chiều cao của cửa sổ trình duyệt. Trong mỗi và mọi người trong số họ là một div khác có chiều rộng 50% của bố mẹ nhưng có chiều cao thay đổi, tùy thuộc vào nội dung của nó.

Tôi muốn tất cả các div-trong-a-div này được căn chỉnh theo chiều dọc. Bây giờ, tôi đã đọc rằng việc đặt một màn hình: ô bảng và căn chỉnh theo chiều dọc: trung bình trên bố mẹ sẽ hoạt động, nhưng trong trường hợp này, nó dường như chỉ làm mọi thứ lộn xộn. : -/

Mã của tôi:

<head> 
<style> 
    html, body { 
      height: 100%; 
     } 
     body > div { 
      width: 100%; 
      height: 100%; 
      background-size: cover; 
     } 

     .centered { 
      width: 50%; 
      margin: 0 auto; 
      background: rgba(0,0,0,0.4); 
      padding: 50px 0 30px 0; 
     } 
</style> 
</head> 
     <body> 

      <div id="pic_1"> 
        <div class="centered">content</div> 
      </div> 

      <div id="pic_2"> 
        <div class="centered">content</div> 
      </div> 

      <div id="pic_3"> 
        <div class="centered">content</div> 
      </div> 

     </body> 

Nhờ sự giúp đỡ của bạn!

+0

có thể trùng lặp của [Làm cách nào để nội dung trung tâm theo chiều dọc có chiều cao thay đổi trong div?] (Http://stackoverflow.com/questions/59309/how-to-vertically-center-content-with-variable-height -within-a-div) – KatieK

Trả lời

2

Đặt thành phần ông bà là display:table; height:100% và thành phần chính là display:table-cell; vertical-align:middle.

Xem "Phương pháp 1" here để biết ví dụ.

Ngoài ra, hãy lưu ý rằng đánh dấu của bạn should not use class="centered"; sử dụng tên lớp ngữ nghĩa thay thế.

+0

Cảm ơn câu trả lời của bạn! Nó hoạt động thực sự tốt khi chỉ có một phụ huynh. Trong trường hợp này, mặc dù các div # pic_1, # pic_2 và # pic_3 dường như tập hợp trong bố cục 3 cột, mỗi bố cục chiếm 33% chiều rộng của trình duyệt. Tôi đã thử đặt chiều rộng của chúng thành 100%, nhưng nó không hoạt động: chúng vẫn nằm trong bố cục 3 cột. Chỉ thời gian này, # pic_1 dường như mất 66% chiều rộng và hai người kia đã chia sẻ những gì còn lại. : -/ –

+0

Nếu bạn muốn ba trong số chúng được xếp chồng lên nhau theo chiều dọc thì bạn cần ba bảng (ba phần tử ông bà) mỗi cái có 'chiều cao: 100%'. – Phrogz

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