我在我的问题上搜索了答案,但奇怪的是没找到它。我需要在主div内对齐4个div。主div的宽度应为100%,每个内部div应为主div的25%,以便在一行中实现4个相同宽度的div。我的代码是:
html {
margin: 0;
padding: 0;
width: 100%;
}
body {
margin: 0;
padding: 0;
width: 100%;
}
.container {
margin: 0;
padding: 0;
width: 100%;
display: block;
}
.inner-div {
display: inline-block;
width: 25%;
}
.yellow {
background-color: yellow;
}
.blue {
background-color: blue;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
<div class="container">
<div class="inner-div yellow">
yellow
</div>
<div class="inner-div blue">
blue
</div>
<div class="inner-div red">
red
</div>
<div class="inner-div green">
green
</div>
</div>
由于某种原因,最后一个div与其他div不在同一行。我不明白为什么会这样!请帮忙。
答案 0 :(得分:6)
内联元素对代码中的空白区域很敏感。只需删除它。
html{
margin:0;
padding:0;
width:100%;
}
body{
margin:0;
padding:0;
width:100%;
}
.container{
margin:0;
padding:0;
width:100%;
display:block;
}
.inner-div{
display:inline-block;
width:25%;
}
.yellow{
background-color:yellow;
}
.blue{
background-color:blue;
}
.red{
background-color:red;
}
.green{
background-color:green;
}
&#13;
<div class="container">
<div class="inner-div yellow">
yellow
</div><div class="inner-div blue">
blue
</div><div class="inner-div red">
red
</div><div class="inner-div green">
green
</div>
</div>
&#13;
答案 1 :(得分:2)
如果您不想担心删除代码中的空白区域,可以在font-size: 0;
上设置.container
并在font-size: initial;
上设置.inner-div
html{
margin:0;
padding:0;
width:100%;
}
body{
margin:0;
padding:0;
width:100%;
}
.container{
margin:0;
padding:0;
width:100%;
display:block;
font-size: 0;
}
.inner-div{
font-size: initial;
display:inline-block;
width:25%;
}
.yellow{
background-color:yellow;
}
.blue{
background-color:blue;
}
.red{
background-color:red;
}
.green{
background-color:green;
}
&#13;
<div class="container">
<div class="inner-div yellow">
yellow
</div>
<div class="inner-div blue">
blue
</div>
<div class="inner-div red">
red
</div>
<div class="inner-div green">
green
</div>
</div>
&#13;
答案 2 :(得分:1)
这是因为display: inline-block
增加了空格。避免这种情况的一种方法是重写它:
<div class="inner-div yellow">
yellow
</div><!--
--><div class="inner-div blue">
blue
</div><!--
等
答案 3 :(得分:1)
更改此
.container {
margin: 0;
padding: 0;
width: 100%;
display: block;
}
为:
.container {
margin: 0;
padding: 0;
width: 100%;
display: flex;
}
答案 4 :(得分:0)
<html>
<style>
html{
margin:0;
padding:0;
width:100%;
}
body{
margin:0;
padding:0;
width:100%;
}
.container{
margin:0;
padding:0;
width:100%;
display:block;
}
.inner-div{
display:inline-block;
width:25%;
}
.yellow{
background-color:yellow;
float: left;
}
.blue{
background-color:blue;
float: left;
}
.red{
background-color:red;
float: left;
}
.green{
background-color:green;
float: left;
}
</style>
<body>
<div class="container">
<div class="inner-div yellow">
yellow
</div>
<div class="inner-div blue">
blue
</div>
<div class="inner-div red">
red
</div>
<div class="inner-div green">
green
</div>
</div>
</body>
</html>
答案 5 :(得分:0)
改变这个......
.inner-div{
display:inline-block;
width:25%;
}
对此...
.inner-div{
float: left;
display:block;
width:25%;
}
答案 6 :(得分:0)
因为内联元素呈现为内联,所以浏览器将内部div之间的空格解释为边距。因此,您的html标记遵循以下模式
<div class="container">
<div class="inner-div yellow">
yellow
</div><div class="inner-div blue">
blue
</div><div class="inner-div red">
red
</div><div class="inner-div green">
green
</div>
</div>
或更好的是,你在css中对它们应用负余量:
.inner-div {
display: inline-block;
width: 25%;
margin-right:-5px;
}
答案 7 :(得分:-2)
确保任何div都没有填充,边距或边框,这会抛弃宽度。