[英]Floating repeated divs, how to keep XY together
我目前正在使用JavaScript庫D3創建許多圖形(但我認為D3與我的問題沒有任何關系)。 該圖放在div X
,說明該圖的文本在div Y
。 我基本上想創建一個像這樣的模式:
XYXYXY
XYXYXY
但是相反(取決於我不想固定寬度的窗口寬度),我得到的是:
XYXYX
YXYXY
我嘗試將XY
放在父div Z<XY>
,以使每對XY
保持在一起,但這不起作用。 我也認為清除並不一定是解決問題的辦法,但我嘗試了所有組合但均未成功。
任何幫助是極大的贊賞。
嘗試
white-space: nowrap
您可能還需要將XY div的float更改為:
display: inline-block
如果我正確理解了該問題,則無需使用float
。 將div顯示為嵌入式塊: display: inline-block
。
這將使div作為“字符塊”進行換行,您需要為XY提供父級,以將文本和圖像保持在一起。
范例: http : //jsfiddle.net/D9BAv/
HTML:
<div class="figure">
<div class="picture"></div>
<div class="text">Example 1</div>
</div><!-- reapeated ... -->
CSS:
.figure {
display: inline-block;
}
.picture {
width: 3rem;
height: 3rem;
margin:auto;
background-color: blue;
}
如果我對您的理解正確,那么也許可以。 如果您不需要支持IE8及以下版本,也可以使用display: inline-block
而不是float: left
。
HTML
<div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div><div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div><div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div><div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div><div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div>
<div class="cont">
<div class="x">X</div><div class="y">Y</div>
</div>
CSS
.cont {
width: 100px;
float: left;
}
.x, .y {
width: 50%;
float: left;
}
.x {
background: #ccc;
}
.y {
background: #ecc;
}
好的,我解決了問題。 所以我錯了,它確實與D3有關。 每次,我本質上都是在同一個父對象中添加一個子div,因此,內聯塊根本沒有任何作用。
我最終在代碼中添加了“ last-child”功能,例如“ d3.select(“。figure:last-child”)。append(...“),用於圖片和文本,並且效果很好。
我通過在父div周圍添加邊框看到了問題,並且我注意到所有子級都在同一個div中。 然后我從以下位置找到了解決方案: D3中jQuery的$(“。cell:first”)等效於什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.