2011-01-11 28 views
22

Đạt đến html, làm cách nào để tạo vùng chứa div phát triển với nội dung thay vì xác định chiều rộng và chiều cao theo cách thủ công.Làm cách nào để làm cho div phát triển với nội dung?

Không có vấn đề gì kích thước của logo là, trong bao bì không phát triển với nó: (... thế nào tôi sẽ sửa lỗi này (hoặc nó có thể được cố định)

Trả lời

0

Bạn có? Mã mẫu? Một div sẽ luôn luôn là chiều rộng đầy đủ của vùng chứa vì nó là phần tử block-level.

+0

Tôi khá chắc chắn OP đã hỏi, nếu (div) phần tử A có con B, cách làm cho A tự động đủ lớn để quấn quanh B. Câu trả lời của bạn cho biết B sẽ là chiều rộng của A nếu nó là 'display: block'. – doug65536

23

Nếu bạn không xác định chiều rộng và/hoặc chiều cao, phần tử div sẽ tăng cùng với nội dung của nó. Nếu nội dung được đặt thành nổi, bạn phải đặt thành vùng chứa

overflow:hidden 

để phát triển!

+0

Bạn sẽ làm gì nếu bạn có các phần tử được đặt thành tuyệt đối bên trong div và bạn muốn nó tự động định kích thước để chứa các phần tử tuyệt đối? –

+0

Có thể chỉ định chiều rộng/chiều cao của phần tử và yếu tố đó tự động thay đổi kích thước khi nội dung phát triển không? – FrenkyB

+1

Tuyệt vời như thế nào CSS trực quan đôi khi có thể được. Không phải. – cdonner

6

Hành vi mặc định cho div là lấp đầy toàn bộ chiều rộng có sẵn. Một vài cách để ghi đè này:

  • thiết display: inline-block (không IE thân thiện)
  • phao nó (với tác dụng phụ của, tốt, nổi nó)
  • thiết display: inline (nhưng đó là gần như không bao giờ những gì bạn muốn)
  • thiết position: absolute
  • mã hóa cứng có chiều rộng (không có chiều rộng năng động mặc dù)

Như một phương sách cuối cùng, consi javascript.

0

Bạn có thể chỉ định chiều rộng tối thiểu và chiều cao tối thiểu và DIV sẽ điều chỉnh chiều rộng/chiều cao khi nội dung thay đổi (tất nhiên, không phải dưới chiều rộng/chiều cao tối thiểu).

Working code pen example

thuộc tính css Quan trọng nhất từ ​​mã (DIV là có thể chỉnh sửa, vì vậy chỉ cần gõ vào văn bản và nó sẽ phát triển cùng với nó bằng chiều rộng/chiều cao):

min-height: 200px; 
    min-width: 100px; 
2

Sử dụng thuộc tính css huyền diệu gọi là "flex", nó thực sự tuyệt vời

yourDiv{ 
display:flex; 
} 

Chỉ cần đảm bảo rằng trẻ không có vị trí: tuyệt đối vì điều này sẽ không hoạt động với flex.

+0

cần thêm thông tin ... vì câu trả lời của bạn có nghĩa là nó không hoạt động với các div lồng nhau có chiều cao thay đổi. –

+0

Tất nhiên, tôi sử dụng nó hàng ngày, trừ khi div được hiển thị tuyệt đối! – molham556

+0

có thể là thông tin hữu ích để đưa vào câu trả lời của bạn ... vì vậy, "\t cần thêm thông tin ... vì câu trả lời của bạn không có tác dụng ..." –

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