HTML边距推送其他元素

HTML边距推送其他元素,第1张

概述有人可以回答我,为什么当我设置一个margin-top到我的< div id =“logo”>时,所有其他div都会被推下来.为什么如果设置浮动:离开我的< div id =“logo”>,一切正常. 码: <!DOCTYPE html><html lang="pt-br"> <head> <title>Olá Mundo!</title> <style> /* 有人可以回答我,为什么当我设置一个margin-top到我的< div ID =“logo”>时,所有其他div都会被推下来.为什么如果设置浮动:离开我的< div ID =“logo”>,一切正常.

码:

<!DOCTYPE HTML><HTML lang="pt-br">  <head>    <Title>olá Mundo!</Title>    <style>      /* CSS reset HERE */ ( http://HTML5doctor.com/HTML-5-reset-stylesheet/ )      body { margin:0; }      #container { wIDth:1000px; min-height:100%; height:auto; margin:0 auto; }      #header { wIDth:100%; height:160px; background-color:#FF0; }      #logo { wIDth:150px; height:150px; margin:10px 0 0 10px; background-color:#F0F; }    </style>  </head>  <body>    <div ID="container">      <div ID="header">        <div ID="logo">          <h1>Minha logo!</h1>          <h2>meu slogan ...</h2>        </div>      </div>  </body>  </HTML>
解决方法 它是由 margin collapse引起的.

正常文件流程

在< div ID =“logo”>的情况下没有漂浮,它的上边缘实际上是从其包含元素的顶部伸出,这将一切都推下来.这种行为的原因(正如上面的文章指出的那样)是这样的,如果你有一系列带有以下CSS的段落:

p {   margin: 1em 0;}

它们之间只有1em的边距,而不是2em(如果边距没有崩溃,这将是结果).

浮动修复

当你浮动< div ID =“logo”>它将其从正常的文档流程中取出,这意味着它的上边距不再与其父级边距折叠.

修复

在您的情况下修复边距折叠的其他选项是向您的< div ID =“header”>添加1px的顶部/底部填充或边框.

总结

以上是内存溢出为你收集整理的HTML边距推送其他元素全部内容,希望文章能够帮你解决HTML边距推送其他元素所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1145246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存