【发布时间】:2014-03-28 23:10:40
【问题描述】:
使用 inline-block 元素(垂直对齐顶部)创建页面布局。唯一的问题是,另一组内联块元素下方的内联块元素不会像浮动元素那样折叠到开放空间中。几乎就像它遵守行式规则一样。有什么解决办法吗?
CSS
* {
font-family:helvetica;
font-size:18px;
}
.container {
margin:0 auto;
width:90vp;
}
.main_content {
background:red;
display:inline-block;
vertical-align:top;
box-sizing:border-box;
width:76.04%;
min-height:200px;
}
.content_details {
background:blue;
display:inline-block;
vertical-align:top;
box-sizing:border-box;
width:22.39%;
margin-left:01.56%;
min-height:250px;
}
.comments {
background:green;
display:inline-block;
vertical-align:top;
box-sizing:border-box;
width:76.04%;
min-height:150px;
}
HTML
<div class="container">
<div class="main_content">
<h1>Main Content</h1>
</div
><div class="content_details">
<h2>Details</h2>
</div
><div class="comments">
<h2>Comments</h2>
</div>
</div>
请注意,我可以更改标记以仅创建两个内联块元素(创建两列),但是我想知道是否有针对 3 个单独的内联块元素的修复(如 JSFiddle 示例),这样我就不需要添加额外的标记了。
【问题讨论】:
-
你为什么使用内联块而不是浮动 div?
-
-1 用于内联块布局。这种技术需要死。使用浮点数。
-
因为浮动不适用于页面布局和结构。浮点数应该用于包装文本。无论如何,我们不要让这个线程成为浮动与内联块的 bash 之战。
-
@user1721135 你为什么不提供一个可行的浮动解决方案,并解释为什么它们更好,而不是反对这个问题?
-
@Achimmer 你是说内联块用于布局吗?不是。