2014-07-26 22 views
9

Tôi hiện đang cố gắng căn giữa hình ảnh bên trong div có kích thước được đặt bằng vh. Tôi đã thử sử dụng phương pháp display:table-cell; làm trung tâm hình ảnh nhưng bắt đầu rối tung với các phần tử khác. Tôi đã tự hỏi nếu có một cách đơn giản hơn để được thẳng đứng trung tâm hình ảnh này bên trong một div như vh. Tôi biết điều này có thể hơi khó hiểu vì vậy hy vọng mã của tôi xuống dưới đây có thể giúp bạn!Định tâm theo chiều dọc bên trong div với vh

Html:

<div class="graphic" style="background-color:#ff837b"> 
    <img src="images/WAInduo-02.svg" style="width: 100%; height: 50%;" /> 
</div> 

CSS:

#induoIntro .graphic { 
    display:block; 
    height:100vh; 
} 
+0

@Sid tiếc là tôi không thể kiện phương pháp đó là bạn cần có một chiều cao quy định mà tôi không thể làm gì để sử dụng vh – kduan

+0

Tạo jsfiddle. Hãy cho chúng tôi biết chính xác những gì bạn đã thử cho đến nay. Và khi bạn nói chuyện lộn xộn với các yếu tố khác của bạn, những yếu tố khác, với cùng một lớp là gì? –

Trả lời

6

Dường như vertical-align:middle có một số mâu thuẫn với vw đơn vị. Thử phương pháp định vị. Đây là giải pháp cho bạn.

mã CSS:

.graphic { 
display:block; 
height:100vh; 
position: absolute; 
top:0; 
bottom:0; 
width: 100%; 
} 

.graphic img{ 
vertical-align: middle; 
width:100%; 
    display: inline-block; 
    height:50%; 
    position: absolute; 
    top: 0; 
    bottom:0%; 
    margin: auto; 
} 

Dưới đây là làm việc fiddle

+0

Trong khi điều này làm trung tâm hình ảnh chính xác, nó làm cho nội dung bên dưới nó biến mất. Bất kỳ đề xuất? Cảm ơn vì sự giúp đỡ của bạn! – kduan

+0

Bạn có thể cập nhật mã fiddle bằng mã của mình không, tôi có thể giúp bạn giải quyết nó –

+0

Nvm Tôi đã tìm ra nó! Chỉ cần xóa vị trí: tuyệt đối; trên cùng: 0; dưới cùng: 0; chiều rộng: 100%; từ .grpahic. Cảm ơn! Bạn có thể giải thích làm thế nào công việc này là một chút mặc dù? – kduan

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