này là dành cho một đồ thị thanh rất đơn giản, tôi đang làm việc trên,Tôi làm cách nào để căn chỉnh nhiều div khối nội tuyến trong một vùng chứa mà không làm mất luồng của chúng?
<div id="container">
<div style="display:inline-block;">
</div>
<div style="display:inline-block;">
</div>
<div style="display:inline-block;">
</div>
</div>
Nếu tôi đặt các container để tương đối và các divs bên trong để tuyệt đối & đáy: 0, sau đó tất cả họ đều chồng chéo. Chúng chảy một cách độc đáo mà không có vị trí tuyệt đối nhưng sau đó biểu đồ thanh bị đảo lộn.
Lưu ý: Mục đích của tôi là giữ lại luồng nội tuyến của các thanh và không phải chỉ định rõ vị trí nằm ngang.
Dưới đây là ví dụ tốt hơn về sự cố.
http://jsfiddle.net/benstenson/NvvV6/1/
1) correct orientation but vertical alignment is top
<div id="no-content" class="container">
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
</div>
2) wrong orientation, vertical alignment top
<div id="has-content" class="container">
<div class="a">a</div>
<div class="b">b</div>
<div class="c">c</div>
</div>
3) mixed orientation, alignment is crazy
<div id="mixed" class="container">
<div class="a">a</div>
<div class="b">b</div>
<div class="c"></div>
</div>
4) correct orientation and correct alignment but<br/>
flow has been lost and horizontal position must be explicit
<div id="absolute" class="container">
<div class="a">a</div>
<div class="b">b</div>
<div class="c"></div>
</div>
5) here we go!
<table class="container">
<tr>
<td><div class="a">a</div></td>
<td><div class="b">b</div></td>
<td><div class="c"></div></td>
</tr>
</table>
css
body {padding:1em;font-family:sans-serif;font-size:small;}
.container {
height:2.5em;width:50%;margin-bottom:1em;
background-color:lightgray;
font-size:larger;
font-weight:bold;
text-transform:Uppercase;
}
div.container > div {
width:32%;
display:inline-block;
background-color:black;
color:cyan;
}
#absolute { position:relative;}
#absolute > div {position:absolute;bottom:0px;opacity:.3;}
.a {height:50%;}
.b {height:60%}
.c {height:80%;}
td{width:33.333%;vertical-align:bottom;}
td > div{background-color:black;color:cyan;}
Vậy là có một cách tốt hơn để làm điều này, như với flexbox webkit hoặc một cái gì đó?
Hãy thử cung cấp cho chúng vị trí tương đối. – Jrod
@Jrod thuật ngữ cho tương đối so với tuyệt đối là khó hiểu với tôi trong css. Tôi đã thử cả hai cách để chắc chắn. Nó vẫn còn lộn ngược. – Benjamin
Bạn có thể cho thấy một ví dụ về những gì bạn đang chiến đấu so với những gì bạn muốn? – jcolebrand