如何在一行中建立一列?
现在这些列是一个接一个垂直的。
例子:
█</p>
█</p>
█</p>
但我需要水平构建它们。
█ █ </p>
这是源代码的链接。
我建议您将它们包装到一些外部<div>
并float: left
为<div>
.
这是如何做到这一点的基本示例。
HTML
代码:
<div class="column">
<span>Simply dummy text</span>
</div>
<div class="column">
<span>Simply dummy text</span>
</div>
<div class="column">
<span>Simply dummy text</span>
</div>
并且CSS
:
.column {
width: 160px;
height: 200px;
background-color: #eeeeee;
float: left;
margin-left: 5px;
text-align: center;
}
注意:这是jsfiddle中的工作示例。
注意 2:另外,如果您只想将其class
用于<div>
元素,请将其声明为div.column
. 更新
:
感谢@poncha的建议。答案已更新。
几种可能的解决方案。
1)float: left
在您需要在同一行排列的每个 s 上使用。(可选)为每个内容添加宽度以避免内容混乱。在父容器中包含所有 <div>
2)使用水平平铺每个 sdisplay: inline
3)实际上这是从早期的SO答案中复制的,我已经多次使用它......
<style>
#whatever div {
display: inline
margin: 0 1em 0 1em
width: 30%
}
</style>
<div id="whatever">
<div>content</div>
<div>content</div>
<div>content</div>
</div>
在我看来,语义上更像是一个列表。你真的要关心IE7吗?如果不是,我建议你渲染一个标记,如
<ul class="inline-list">
<li>my content</li>
<li>my content</li>
<li>my content</li>
</ul>
然后通过 CSS 使用
.inline-list li {
display: inline-block;
}
这是小提琴
列表条目的行为类似于块元素(例如简单的 div),因此您可以应用宽度和高度等...很好的是它会自动换行。(这对于浮动恕我直言并不容易)
对于 IE7:如果显示为块元素,则优雅降级,但取决于用例(也许你可以通过使用 display: inline 解决这个问题;但我现在无法证明这一点)
将 float:left 添加到 div 并使用 overflow:hidden 属性固定宽度
div {
-webkit-column-width: 300px;
-webkit-column-height: 300px;
height: 300px;
width:300px;
float:left;
-webkit-column-gap:0px;
overflow:hidden;
}
尝试这个
<div>
<div id="one" class="clhr">
<h3>Column1</h3>
</div>
<div id="two" class="clhr" >
<h3>Column2</h3>
</div>
<div id="three" class="clhr">
<h3>Column3</h3>
</div>
</div>
.clhr {
border: 1px solid red;
float: left;
height: 300px;
margin-right: 16px;
width: 200px;
}