2013-09-06 38 views
6

Trong CSS và HTML, cách hoạt động của height: auto? Trình duyệt xem xét điều gì trong khi tính toán chiều cao của phần tử, trong đó height được đặt thành auto?Chiều cao: tự động hoạt động như thế nào trong HTML và CSS?

+2

Điều này phức tạp, phụ thuộc vào nhiều yếu tố và [được mô tả trong đặc điểm kỹ thuật] (http://www.w3.org/TR/CSS2/visudet.html#the-height-property). – Quentin

Trả lời

1

Dưới đây là một đoạn trích về vấn đề này copied from the W3C CSS2 spec

Nếu nó chỉ có trẻ em inline cấp, chiều cao là khoảng cách giữa phía trên cùng của hộp dòng trên cùng và dưới cùng của hộp dòng dưới cùng.

Nếu nó có trẻ em cấp khối, chiều cao là khoảng cách giữa cạnh lề trên cùng của hộp con cấp cao nhất trên cùng và dưới cùng cạnh lề của hộp con cấp khối tối thiểu.

Trẻ em vị trí tuyệt đối bị bỏ qua và các hộp tương đối có vị trí được xem xét mà không được bù đắp. Lưu ý rằng hộp con có thể là một hộp chặn ẩn danh. Ngoài ra, nếu phần tử có bất kỳ con cháu nổi có cạnh dưới cạnh dưới cạnh nội dung của phần tử, thì chiều cao được tăng lên để bao gồm các cạnh đó. Chỉ nổi rằng tham gia vào bối cảnh định dạng khối này được tính đến, ví dụ: nổi bên trong các hậu duệ tuyệt đối hoặc các phao khác thì không.

2

Bạn có thể chia hai trường hợp:

  • div và container khác: chiều cao là một trong những trình duyệt sẽ sử dụng nếu bạn không chỉ định bất cứ điều gì, cố gắng để có các nội dung phần tử. (đọc câu trả lời của Mathijs để biết thêm chi tiết)
  • hình ảnh và các phần tử khối khác với kích thước nội tại (chiều rộng và chiều cao): nếu bạn chỉ định chiều rộng, thì "height: auto" sẽ tỷ lệ tương ứng.

Vì vậy, nói cách khác, là vô ích trừ khi bạn cần đặt lại hành vi trình duyệt hoặc giữ tỷ lệ đối với một số đối tượng.

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