2012-11-15 35 views
6

Nếu bạn có ba div giống hệt nhau được đặt trong khối nội tuyến, chúng được căn chỉnh hoàn hảo. Nhưng nếu bạn đặt bất kỳ nội dung nào trong bất kỳ div nào thì nó sẽ giảm xuống dưới những phần khác. Tại sao nó làm điều đó? Ví dụTại sao div nội tuyến chặn được định vị thấp hơn khi có nội dung?

<div class="left">?</div> 
<div class="center"></div> 
<div class="right"></div> 

div { 
    display:inline-block; 
    margin-:2px; 
    height:100px; 
    width:25px; 
    border:1px solid black; 
}​ 

http://jsfiddle.net/7kkC6/

tốt hơn: http://jsfiddle.net/7kkC6/9/

Trả lời

16

Điều này là do vertical-align là do thiết lập mặc định đến đường cơ sở. Bạn có thể khắc phục vấn đề của bạn bằng cách thiết lập nó để đầu:

div { 
    display:inline-block; 
    margin-:2px; 
    height:100px; 
    width:25px; 
    border:1px solid black; 
    vertical-align: top; 
}​ 

Bản demo ở đây: http://jsfiddle.net/7kkC6/4/

+0

tôi thậm chí không biết dọc-align đã được chơi ở đây. – user1757120

0

Nó hoạt động nếu bạn thay đổi display-block và thêm float:left;

Working example.

+0

tôi biết cách nhận hiệu ứng đặc biệt này theo cách này hay cách khác. ví dụ: bạn có thể sử dụng các bảng có căn chỉnh theo chiều dọc. tôi không hiểu tại sao các div thấp hơn khi chúng có nội dung. – user1757120

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