2011-10-07 30 views
5

Được rồi, vì vậy tôi có các giải pháp khác nhau cho các yếu tố sắp xếp theo chiều dọc của chiều cao tùy ý trong một vùng chứa. Tất cả các công việc này khi nội dung có chiều cao nhỏ hơn so với vùng chứa.Sắp thẳng hàng hình ảnh trong khi bẻ ra khỏi thùng chứa

Điều gì sẽ xảy ra nếu chiều cao nội dung cao hơn vùng chứa? Ví dụ: giả sử tôi có vùng chứa có chiều cao cố định là 100px. Tôi cũng có một số hình ảnh có độ cao khác nhau; Tôi cần phải căn chỉnh theo chiều dọc những điểm này sao cho điểm trung tâm của hình ảnh khớp với điểm trung tâm của vùng chứa, như vậy:

(không thể tải lên hình ảnh như tôi chưa đủ rõ ràng) - ví dụ: http://gbradley.com/_images/stuff/valign.png

Không xác định vị trí của hình ảnh theo cách thủ công, làm cách nào tôi có thể đạt được điều này? Tôi cảm thấy như tôi đang thiếu một cái gì đó khá rõ ràng.

+0

Tôi có thể đề xuất sử dụng một số javascript (jQuery) không? –

+0

Tôi hy vọng cho một giải pháp CSS chỉ thực sự; Tôi có thể làm điều đó một cách dễ dàng đủ với JS nhưng muốn tránh làm như vậy nếu có thể! – Graham

+0

Đừng nghĩ rằng có một cách css tinh khiết để làm điều đó người đàn ông tốt của tôi. Vì bạn muốn chúng thoát khỏi vùng chứa dựa trên kích thước của chúng, bạn cần phải nhập giá trị hàng đầu theo cách thủ công hoặc để javascript tính toán nó cho bạn. – Pat

Trả lời

5

Nếu bạn không cần trình duyệt IE ít hơn 8 và trong chế độ tiêu chuẩn, bạn có thể sử dụng lợi nhuận tiêu cực lớn và helper giả yếu tố: http://jsfiddle.net/kizu/CXRVn/

Nếu bạn cần cũ IE, bạn có thể sử dụng một cách khác, sử dụng helper phần tử có chiều cao lớn và một số quirks định vị: http://jsfiddle.net/kizu/CXRVn/5/

Ở đó, bạn phải đặt giá trị chênh lệch âm lớn nhất là .image bằng một nửa chiều cao của người trợ giúp trừ đi một nửa chiều cao của cha mẹ. Hoạt động trong IE6 hoặc là :)

+0

+1 - rất hay. Không có ý tưởng một cái gì đó như thế là có thể. – Pat

+0

Brilliant, đây chính xác là những gì tôi đang tìm kiếm. Không nghĩ đến việc sử dụng một phần tử giả, dường như hoạt động hoàn hảo. – Graham

+0

Tuyệt vời! Đây là một phiên bản sử dụng văn bản và ẩn tràn với một trình bao bọc: http://jsfiddle.net/MSUfR/ –

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