页边距HTML上的最热门问题

页边距HTML上的最热门问题,html,css,Html,Css,我有下面的HTML <body> <div class="template"> <div class="box"></div> </div> </body> 现在我得到以下输出 但是当我添加float:left在.box类中,我得到以下图像 只有边距顶部在没有float:left的情况下不工作为什么我要添加float:left来获取元素的上边距。框 只需添加显示:内联块;到你的方块级边缘顶端

我有下面的HTML

<body>
    <div class="template">
        <div class="box"></div>
   </div>
</body>
现在我得到以下输出


但是当我添加
float:left
.box
类中,我得到以下图像


只有边距顶部在没有
float:left的情况下不工作为什么我要添加
float:left
来获取元素的上边距。框

只需添加显示:内联块;到你的方块级边缘顶端会再次活跃起来

CSS

.box {
    display:inline-block; /*Added */
    height:420px;
    width:165px;
    background-color:#ffffff;
    margin-left:416px;
    margin-right:417px;
    margin-top:37px;
    margin-bottom:38px;
}

下面是一个描述相同问题的线程:

这是一个常见的问题与非崩溃的利润率


添加
float:left
的替代方法是
overflow:auto
Add显示:内联块to.box类。

您的边距正在父元素上使用,这是一种预期行为。然而,有一些方法可以绕过它

解决方案1:浮动
div
。。。这将包含子元素的边距并防止边距折叠

解决方案2:您还可以在父
div


可以找到有关折叠页边距的更多信息。

试试这个,我已经稍微修改了你的样式

html,正文{
保证金:0;
}
.模板{
高度:500px;
宽度:100%;
背景色:#E1bBe;
保证金:0;
浮动:左;
}
.盒子{
高度:420px;
宽度:165px;
背景色:#ffffff;
利润率:37像素自动;
}


您的边距正在父元素上使用。请看:听起来像是一个边缘崩溃的案例。检查此线程:我不需要固定的代码,我想知道原因……这是更好的方法。div自然是内联的,您将其用作块。@Suresh Ponnukalai:是的,div自然是内联的,因为它不强制换行,只占用所需的宽度。
div
默认为
block
元素。@Suresh Ponnukalai:同意。我的错误。
.box {
    display:inline-block; /*Added */
    height:420px;
    width:165px;
    background-color:#ffffff;
    margin-left:416px;
    margin-right:417px;
    margin-top:37px;
    margin-bottom:38px;
}