2012-06-30 37 views
5

Tôi đã lồng div s, với hầu hết là float:left; display:block;, giống như việc phải làm:Làm cách nào để tạo chiều cao div phụ thuộc vào nội dung bên trong?

<div class="container" style="display:block;"> 
    <div style="float:left; display:block; height:100px;"> 
    <div style="float:left; display:block; height:100px;"> 
</div> 

Tôi muốn div container để có được lớn hơn mà không cần thiết lập một chiều cao. Tại thời điểm này nó là một đường thẳng.
Làm cách nào để thiết lập bên trong div giây để hộp chứa có chiều cao?

TL; DR: Hiện nay tôi có thể nhìn thấy 2 bên div 's tốt, nhưng container là một căn hộ div (không cao).
Làm cách nào để cho nó có chiều cao?

Trả lời

2

Thêm overflow:hidden vào DIV đó.

+0

cổ vũ công tử tuyệt vời! – Emmett

+0

trùng lặp của http://stackoverflow.com/questions/804926/make-outer-div-be-automaticly-the-same-height-as-its-floating-content –

+0

Bạn cũng có thể làm nổi vùng chứa bên trái hoặc thêm xóa phần tử ở cuối (mặc dù tôi khuyên bạn nên sử dụng giải pháp clearfix) –

9

Bạn có hai lựa chọn:

<div class="container" style="overflow:hidden"> 
    <div style="float:left; height:100px;"> 
    <div style="float:left; height:100px;"> 
</div> 

hoặc

<div class="container"> 
    <div style="float:left; height:100px;"> 
    <div style="float:left; height:100px;"> 
    <div style="clear:left"> 
</div> 

Lưu ý rằng overflow:hidden yếu tố sẽ quấn quanh nổi các yếu tố nội tại. Ngoài ra, bạn có thể sử dụng một phần tử để xóa phao, điều này cũng sẽ làm cho phần tử xung quanh bao bọc nội dung của nó.

Mẹo khác: Bạn không phải nêu rõ các div đó là display:block. Trong HTML, về cơ bản có 2 loại yếu tố, blockinline. Số tiền là block theo mặc định.

+0

Lưu ý rằng giá trị cho tràn thuộc tính có thể là bất kỳ giá trị nào có thể áp dụng (tự động, ẩn, cuộn, hiển thị). –

+1

Ngoài ra, mọi phần tử thả nổi sẽ trở thành một khối. – bfavaretto

+0

Tràn: ẩn, hoạt động cho tôi .. Cảm ơn rất nhiều –

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