2017-01-24 29 views
6

Vì vậy, ở đây tôi gặp sự cố với Bootstrap 4 (và cả flexbox). Đây là mã: HTML:Bootstrap 4 - container có chiều cao 100% của phần

<section id="intro"> 
    <div class="container-fluid"> 
     <div class="row align-items-center"> 
      <div class="col align-self-center"> 
       <h1>We design things</h1> 
      </div> 
     </div> 
    </div> 
</section> 

Và CSS:

#intro { 
    min-height: 65vh; 
    background-image: url("../img/intro.png"); 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: center; 
} 
.container-fluid { 
    height: 100%; 
    min-height: 100%; 
} 

Tôi muốn .container-chất lỏng luôn là 100% của nó là chiều cao phụ huynh, vì vậy nếu phần có 100vh, container nên Ngoài ra, nếu nó có 50vh nó cũng nên có 50vh. Làm thế nào để làm điều đó? Tôi không thể trung tâm một cái gì đó bằng cách sử dụng flexbox nếu chiều cao của nó là chiều cao của h1.

Trả lời

3

Nói chung, khi bạn muốn phần tử là chiều cao của phần tử gốc, hãy đặt cha mẹ thành vùng chứa linh hoạt.

#intro { 
    min-height: 65vh; 
    background-image: url("../img/intro.png"); 
    background-size: cover; 
    background-repeat: no-repeat; 
    background-position: center; 
    display: flex; /* NEW */ 
} 

Cài đặt ban đầu của hộp chứa flex là align-items: stretch. Điều này có nghĩa là trẻ em của một hộp chứa flex sẽ tự động mở rộng kích thước chéo của vùng chứa. Theo hướng hàng sẽ là chiều cao. Do đó, áp dụng display: flex hoặc display: inline-flex đến section#intro.

+1

Thật không may, điều đó không có tác dụng - vùng chứa hiện được căn giữa, nhưng nó vẫn có chiều cao của phần tử h1 chứ không phải phần. – grhu

+1

Câu hỏi của bạn là làm cho 'container-flud' có cùng chiều cao với bố mẹ. –

+0

Đây là toàn bộ mã: http://codepen.io/GRHU/pen/jywoQV Có, tôi muốn tạo ra .container-fluid, nằm bên trong phần #intro chiều cao đầy đủ của bố mẹ nó, là 65vh và sau đó sử dụng lớp Bootstrap 4 để làm cho nó tập trung theo chiều ngang và chiều dọc. – grhu

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