为什么div元素上面的div元素向左浮动时它不向上移动?
Why div element do not move upwards when the div above it is floated left?
我一直在研究 CSS 中的 float 属性。
这是我的html代码:
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 25%;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
我想知道为什么我的 div
with class normal 没有向上移动 div
of class left?
我问这个问题是因为如果我写一个
<p>something</p>
在我 class 的 div
离开 p tag
的内容后 向上移动 但这不会发生在 div
..
我想知道为什么会发生这种情况 ?
嗨@Gopal Singh Rathore
我相信我已经正确理解了你的问题。
这是因为宽度设置在 div 上,它也有一个 display:block,例如,如果您将 display:block 更改为 flex,它就会出现在旁边它。如果您还在 p 标签上设置宽度,它将与 div.
相同
我希望这能回答你的问题。
第一个 div 的宽度为 25%,因此它在水平方向上占据了可用空间 space 的 25%。
第二个 div 也是 25% 宽;因此第一个 div 占用了第二个 space 占用的所有空间。右边根本就没有空间了!
解决方案:使第二个 div 宽度不是 25%,而是 50%(比第一个多 25%)。
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 50%;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
normal div 移动到顶部,正常内容不:参见 normal 扩展名:
李斯特先生给了你解决办法:你需要把normal加宽一些,这样内容才能放在left[的右边。 =12=]
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 27%;
background-color: lightblue;
border: solid 1px blue;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
我一直在研究 CSS 中的 float 属性。
这是我的html代码:
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 25%;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
我想知道为什么我的 div
with class normal 没有向上移动 div
of class left?
我问这个问题是因为如果我写一个
<p>something</p>
在我 class 的 div
离开 p tag
的内容后 向上移动 但这不会发生在 div
..
我想知道为什么会发生这种情况 ?
嗨@Gopal Singh Rathore
我相信我已经正确理解了你的问题。
这是因为宽度设置在 div 上,它也有一个 display:block,例如,如果您将 display:block 更改为 flex,它就会出现在旁边它。如果您还在 p 标签上设置宽度,它将与 div.
相同我希望这能回答你的问题。
第一个 div 的宽度为 25%,因此它在水平方向上占据了可用空间 space 的 25%。
第二个 div 也是 25% 宽;因此第一个 div 占用了第二个 space 占用的所有空间。右边根本就没有空间了!
解决方案:使第二个 div 宽度不是 25%,而是 50%(比第一个多 25%)。
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 50%;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
normal div 移动到顶部,正常内容不:参见 normal 扩展名:
李斯特先生给了你解决办法:你需要把normal加宽一些,这样内容才能放在left[的右边。 =12=]
.left {
float: left;
text-align: center;
width: 25%;
}
.normal {
text-align: center;
width: 27%;
background-color: lightblue;
border: solid 1px blue;
}
<div class="left">
<img src="Icon.png">
<h1>hi my name is left</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>
<div class="normal">
<img src="Icon.png">
<h1>hi my name is normal</h1>
<p>hi im a paragraph of abcd. ghjtyj yttyrkutk ukuykyilt uk</p>
</div>