如何将元素并排排列,而不考虑容器
How to line elements side by side, regardless of container
我有一个容器,里面有一些divs
。我想把divs
并排排列。如果它们不适合容器,仍然将它们放在一起,但放在容器外部。我试过使用white-space: nowrap
。这将它们从父容器中分离出来,但也将从父容器分离出来。以下是nowrap
问题的一个示例。
.container{
border: dashed;
width: 25%;
display: inline-block;
white-space:nowrap;
}
.row {
border: dotted red;
}
.block {
display: inline-block;
border: dotted green;
}
<div class="container">
<div class='row'>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
</div>
</div>
黑色边框是窗口,红色边框是父div,绿色边框表示数据块。
我只需要转义祖父母div,而父div仍然会环绕内容,即使它转义了祖父母div。
有什么建议吗?
编辑:所有的答案对我来说都不起作用。我仍然不能以我的例子来围绕孩子们。
将display: table
或display: inline-block
赋给.row
:
.container{
border: dashed;
width: 25%;
display: inline-block;
white-space:nowrap;
}
.row {
display: table; // inline-block
border: dotted red;
}
.block {
display: inline-block;
border: dotted green;
margin: 2px;
}
CodePen:http://codepen.io/theblindprophet/pen/rLJzqG
一种破解解决方案,使用outline
而不是border
,并在窗口上添加填充(或阻止边距折叠(实际窗口会阻止它),并在"父div
"上使用margin
)。没有border
那么灵活,但表现出你想要的行为。
.container{
border: dashed;
width: 25%;
display: inline-block;
white-space:nowrap;
padding:3px;
}
.row {
outline:3px dotted red;
}
.block {
display: inline-block;
border: dotted green;
}
<div class="container">
<div class='row'>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
</div>
</div>
如果您将display: inline-block;
添加到.row
,它可以按照我的理解工作。
https://jsfiddle.net/2caxuhu6/
这很容易
.container{
border: dashed;
width: 25%;
white-space:nowrap;
}
.row {
border: dotted red;
display: inline-block;
}
.block {
display: inline-block;
border: dotted green;
}
<div class="container">
<div class='row'>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
<div class="block">
<p>
Stuff
</p>
</div>
</div>
</div>
相关文章:
- 使用Dnamics CRM 2011中的JavaScript读取子网格的所有记录,而不考虑活动页面
- 在BoilerplateJS浏览器加载所有脚本(在其他模块中),而不考虑激活的模块
- JS toLocaleString始终显示货币符号,而不考虑区域设置
- 在呈现网页时复制网页,而不考虑参考底图的来源
- 如何使用 javascript 获取 UTC 格式的日期,而不考虑当前系统日期
- 转换 JSON 日期,不考虑时区
- 使用XPath选择包含文本的节点,而不考虑CasperJS中的空白
- 使用简单的角度滤波器来替换输入字符串中某些字符串的所有出现,而不考虑大小写和空格
- 角度高图表和ng网格标题不考虑帧宽度
- jQuery/JavaScript代码如何将表导出为CSV文件而不考虑表's大小.看看@jsfiddle链接
- 捕获给定类型的所有事件,而不考虑气泡/目标
- 选项卡分组和选项卡着色:如何将此功能应用于从我的网页打开的选项卡,而不考虑浏览器
- CSS不透明度转换;在动画过程中不考虑覆盖不透明度
- 如何增加光滑块高度,而不考虑其内容
- 正则表达式不考虑 .在JavaScript中进行模式测试时
- $browser.notifyWhenNoOutoutstanding Requests不考虑控制器功能
- getAttribute('href') 始终返回“#”,而不考虑移动浏览器上的实际 href 属性
- Javascript 获取当前日期,而不考虑时区
- 如何找到日和月之间的天数差异,而不考虑年份
- 如何将元素并排排列,而不考虑容器