如何在div 元素内显示内联跨度?我想内联显示它们,并自动调节它们的大小和它们占用的空间,具体取决于用户的屏幕,并落后于所有其他div 元素。
body {
width: auto;
height: auto;
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
overflow: scroll;
.whole {
width: 100%;
height: 400px;
display: inline-block;
margin: 0px 0px 0px 240px;
z-index: -1;
position: relative;
}
#main {
background-color: #212121;
width: 50%;
height: 400px;
display: block;
}
#second-main {
background-color: #424242;
width: 50%;
height: 400px;
display: block;
}
#third-main {
background-color: #616161;
width: 50%;
height: 400px;
display: block;
}
#fourth-main {
background-color: #757575;
width: 50%;
height: 400px;
display: block;
}
<div class = "whole">
<span id="main">
<p></p>
</span>
<span id="second-main">
<p></p>
</span>
<span id="third-main">
<p></p>
</span>
<span id="fourth-main">
<p></p>
</span>
<span id="fifth-main">
<p></p>
</span>
</div>
<span>
inline
,默认情况下block
<div>
。但是在你的CSS中,你用display: block
覆盖那些默认样式(在#main
等中(。如果您希望它们像屏幕一样调整大小并内联,那么更好的方法是使用 flexbox
:
.HTML:
<div class="whole">
<span id="main">
<p></p>
</span>
<span id="second-main">
<p></p>
</span>
<span id="third-main">
<p></p>
</span>
<span id="fourth-main">
<p></p>
</span>
<span id="fifth-main">
<p></p>
</span>
</div>
.CSS:
body {
margin: 0;
padding: 0;
border: 0;
font: inherit;
font-size: 100%;
vertical-align: baseline;
overflow: scroll;
}
.whole {
width: 100%;
height: 400px;
-ms-display: flexbox;
display: flex;
margin: 0px 0px 0px 240px;
}
.whole > span {
-ms-flex: 1;
flex: 1;
height: 100%;
}
#main {
background-color: #212121;
}
#second-main {
background-color: #424242;
}
#third-main {
background-color: #616161;
}
#fourth-main {
background-color: #757575;
}
(您还缺少body
的右 CSS 括号,并且您的font-size: 100%
在下一行被速记font
规则覆盖(
这是一个工作小提琴:https://jsfiddle.net/tceqx58x/
要将所有内容都放在一行中,您需要让它们的宽度被总项目整除,因此在您的情况下,您需要 20% 的宽度来容纳 5 个跨度元素。(使用百分比时要小心,因为边距会将元素推到实际指定的百分比以上(
对 span 元素使用 display:inline-block;
,避免仅在一个条件下指定样式的重复代码。
* {
margin:0px;
padding:0px;
}
.whole {
width: 100%;
height: 400px;
z-index: -1;
position: relative;
}
.whole span {
display:inline-block;
width: 20%;
height: 400px;
}
#main {
background-color: #212121;
background-size: cover;
}
#second-main {
background-color: #424242;
background-size: cover;
}
#third-main {
background-color: #616161;
background-size: cover;
}
#fourth-main {
background-color: #757575;
background-size: cover;
}
#fifth-main {
background-color: #dddddd;
background-size: cover;
}
<div class = "whole">
<span id="main">
<p></p>
</span><span id="second-main">
<p></p>
</span><span id="third-main">
<p></p>
</span><span id="fourth-main">
<p></p>
</span><span id="fifth-main">
<p></p>
</span>
</div>
使用display: inline-block
而不是display: block
,并将宽度减小到 20%,以适合跨度元素中整个类中的所有跨度。