Css 与父div相关的子div边距

Css 与父div相关的子div边距,css,html,Css,Html,我有一个简单的子div嵌套在父div中,就像这样 我试图理解为什么我不能使用margintop:25px相对于父div向下移动子div(例如25px),除非我给父div一个边框。我认为子div使用边框作为参考点,这就是为什么边距顶部在应用边框后实际起作用的原因。这很好,但在我正在处理的特定示例中,父div有一个背景图像,我不想给它一个边框。但是如果没有边界,儿童版不会移动 <body> <div id="main"> <div id="child

我有一个简单的子div嵌套在父div中,就像这样

我试图理解为什么我不能使用margintop:25px相对于父div向下移动子div(例如25px),除非我给父div一个边框。我认为子div使用边框作为参考点,这就是为什么边距顶部在应用边框后实际起作用的原因。这很好,但在我正在处理的特定示例中,父div有一个背景图像,我不想给它一个边框。但是如果没有边界,儿童版不会移动

<body>

  <div id="main">

      <div id="child">
      </div>

 </div> 

</body

#main {width: 500px;
   border: 1px solid black;
   height: 500px;
   background-color: red;
   margin: auto;
   margin-top: 200px;
   }

#child {width: 100px;
    height: 100px;
    background: blue;
    position: relative;
    top: 5px;
   }


几天前我遇到了这个问题,我通过在父div中添加一个小填充(1px)来解决它,然后在子div上使用边距。

您应该给出
display:inline block属性到子分区。

父分区是否定义了其位置??可能重复您是对的,这是一个类似的问题,但我认为接受的答案在这个问题上更加清晰和简洁,建议不要关闭该问题。可以复制该问题。在这里试过了。如果还有其他问题,请详细说明。谢谢你的建议,这实际上是最好的解决方案。不知道我是怎么忽略的谢谢!这非常有效。虽然我添加了子div所需的边距顶部,但在父div的填充顶部,它将我的子div放在了需要的位置。不确定这是否是最好的解决方案,但它很有效——这很有效。我必须给孩子加上宽度:102%,然后给父母加上溢出:隐藏,才能把所有的路线弄得干干净净。这对我来说不管用。我一这样做,它就删除了我应用于child div的边距:0 auto