我如何将 <span> 或 <div> 放在同一行
How can i stick <span> or <div> in the same line
如果我有 4 个 div(s) 或 4 个 span(s),并且每个都有不同的颜色,并且每个宽度为 25%,并且将它们显示在同一行中使用 display:inline-block,问题是,如果我增加了其中一个的百分比,我怎么能让它们在同一行(而不向下推下一个元素)。那么假设,屏幕是这样的(红黑黄粉红)与高度无关,所以屏幕将充满 4 种颜色(在 X 轴上),但是如果我增加,比方说,黑色的宽度增加到 50%,其他 2 种颜色将被向下推,我不希望这样,我希望它们随 X 轴向右移动,所以如何我可以这样做吗?
抱歉拖了这么久,只是想让大家清楚。
已经谢谢了。
您想使用 flex-box。
这是你的想法吗? https://codepen.io/anon/pen/YrzQLV
我在黑色列上添加了 flex-grow: 2
,这使它变大了两倍。增加该值会增加它。
您可以使用 inline-block 和 float left 在一行中获取所有四个 div 或 span。该行必须等于 100% 才能使您的内容即使使用浮动也不会下降到新行。如果您试图让所有内容动态适应,Flexbox 会有所帮助。尽管如此,它仍然只会使用 100% 的行。并非所有浏览器都支持 flexbox。
.outter-div {
width:100%;
display:block;
position:relative;
height:100%;
margin:0 auto;
}
.one,.two,.three,.four {width:25%;
display:inline-block;
float:left;position:relative;
height:100%;text-align:center;}
.one {background-color:blue;}
.two {background-color:green;}
.three {background-color:red;}
.four {background-color:yellow;}
<div class="outter-div">
<div class="one"><p>Content 01</p></div>
<div class="two"><p>Content 02</p></div>
<div class="three"><p>Content 03</p></div>
<div class="four"><p>Content 04</p></div>
</div>
简单的答案是将父级设置为不允许自动换行。行内块元素被视为关于流的文本内容,因此这样做将防止它们换行到下一行,即使它们太长而不适合。
您可能还想将其设置为隐藏溢出,具体取决于您希望它做什么。
因此您需要以下内容:
white-space: nowrap;
overflow: hidden;
另一个选项(在现实中似乎更明智)是确保您的元素总和为 100%。所以如果你增加到50%,同时减少其他的来补偿。
如果我有 4 个 div(s) 或 4 个 span(s),并且每个都有不同的颜色,并且每个宽度为 25%,并且将它们显示在同一行中使用 display:inline-block,问题是,如果我增加了其中一个的百分比,我怎么能让它们在同一行(而不向下推下一个元素)。那么假设,屏幕是这样的(红黑黄粉红)与高度无关,所以屏幕将充满 4 种颜色(在 X 轴上),但是如果我增加,比方说,黑色的宽度增加到 50%,其他 2 种颜色将被向下推,我不希望这样,我希望它们随 X 轴向右移动,所以如何我可以这样做吗?
抱歉拖了这么久,只是想让大家清楚。 已经谢谢了。
您想使用 flex-box。
这是你的想法吗? https://codepen.io/anon/pen/YrzQLV
我在黑色列上添加了 flex-grow: 2
,这使它变大了两倍。增加该值会增加它。
您可以使用 inline-block 和 float left 在一行中获取所有四个 div 或 span。该行必须等于 100% 才能使您的内容即使使用浮动也不会下降到新行。如果您试图让所有内容动态适应,Flexbox 会有所帮助。尽管如此,它仍然只会使用 100% 的行。并非所有浏览器都支持 flexbox。
.outter-div {
width:100%;
display:block;
position:relative;
height:100%;
margin:0 auto;
}
.one,.two,.three,.four {width:25%;
display:inline-block;
float:left;position:relative;
height:100%;text-align:center;}
.one {background-color:blue;}
.two {background-color:green;}
.three {background-color:red;}
.four {background-color:yellow;}
<div class="outter-div">
<div class="one"><p>Content 01</p></div>
<div class="two"><p>Content 02</p></div>
<div class="three"><p>Content 03</p></div>
<div class="four"><p>Content 04</p></div>
</div>
简单的答案是将父级设置为不允许自动换行。行内块元素被视为关于流的文本内容,因此这样做将防止它们换行到下一行,即使它们太长而不适合。
您可能还想将其设置为隐藏溢出,具体取决于您希望它做什么。
因此您需要以下内容:
white-space: nowrap;
overflow: hidden;
另一个选项(在现实中似乎更明智)是确保您的元素总和为 100%。所以如果你增加到50%,同时减少其他的来补偿。