我有一个div
( 父 )包含另一个div
( 子 )。Parent是第一个body
没有特定CSS样式的元素。当我设定
.child
{
margin-top: 10px;
}
最终结果是我的孩子的顶部仍然与父母对齐。我的父母没有将孩子向下移动10px,而是将其向下移动10px。
我DOCTYPE
的设定为XHTML Transitional
。
我在这里想念什么?
编辑1
我的父母需要具有严格定义的尺寸,因为它的背景必须从上到下显示(像素完美)。因此,在其上设置垂直边距是 不可行的 。
编辑2
此行为在FF,IE和CR上是相同的。
在子元素中找到了替代项,[并在DIV中留有边距您还可以添加:
.parent { overflow: auto; }
要么:
.parent { overflow: hidden; }
这样可以防止边距崩溃。边框和填充相同。因此,您还可以使用以下内容来防止利润暴跌:
.parent {
padding-top: 1px;
margin-top: -1px;
}
根据受欢迎的要求进行更新:页 边空白的全部要点是处理文本内容。例如:
<style type="text/css">
h1, h2, p, ul {
margin-top: 1em;
margin-bottom: 1em;
}
</style>
<h1>Title!</h1>
<div class="text">
<h2>Title!</h2>
<p>Paragraph</p>
</div>
<div class="text">
<h2>Title!</h2>
<p>Paragraph</p>
<ul>
<li>list item</li>
</ul>
</div>
由于浏览器会折叠边距,因此文本将如您期望的那样显示,并且<div>
包装标签不会影响边距。每个元素确保其周围有间距,但间距不会加倍。的边距<h2>
,并<p>
不会增加,但陷入对方(他们崩溃)。<p>
和<ul>
元素也会发生同样的情况。
可悲的是,对于现代设计,当您明确想要一个容器时,这个想法可能会咬你。在CSS语言中,这称为新块格式化上下文。该overflow
或保证金招会给你的。
问题内容: 我的问题很简单: 为什么在Firefox中,内联元素的边距顶部被忽略? 有人知道吗? 问题答案: 这不仅限于Firefox,而且在CSS 2.1规范中进行了定义: ### 8.3边距属性:“ margin-top”,“ margin-right”,“ margin-bottom”,“ margin-left”和“margin” 边距属性指定框的边距区域的宽度。’margin’速记属性设
问题内容: 当具有边距的元素包含在另一个元素中时,父级不会始终包裹/包含该边距。 许多事情将导致父母控制孩子的保证金: (这只是经过一点测试,毫无疑问,还有更多。) 我认为这与利润下降有关,但是: W3C规范页面没有此类行为的描述。 这里没有重叠的边距。 在此问题上,所有浏览器的行为似乎都是一致的。 该行为受到与边距无关的触发器的影响。 根据逻辑,默认元素应包含与溢出设置为自动元素不同的材料? 为
我有以下HTML结构,并将dragenter和dragleave事件附加到
急求!子元素设置了float:left,为什么是浮动到父元素的父元素(part1)上,而不是浮动到父元素(box1)上?想让这个子元素和学院新闻同行应该怎么办? 这是那个子元素 这是那个子元素 这是整体:
问题内容: 我有一个包含2个div的页面。第一个浮动。第二个有一个“清晰:既有CSS声明,又有很大的利润空间”。但是,当我在Firefox或IE8中查看页面时,没有看到上边距。看起来第二个div正在触摸第一个div,而不是分开。有什么方法可以使上边距正常工作? 我已经阅读了CSS规范,并注意到它说:“由于浮动中没有浮动,因此浮动框之前和之后创建的未定位块框会垂直流动,就好像浮动不存在一样。”但是,
CSS开发人员可能经常会碰到的一个现象是,一个页面在IE(特别是老版本的IE)中显示正常,而在现代浏览器中却完全变形了,或者情况完全相反。 常常能听到有人抱怨:“在IE上开发时间中,超过 60% 的时间,都是在与IE的Bug作斗争。”导致这一现象的根本原因,是不知道IE都有哪些 bug,也不知道如何解决这些 bug。在出现问题时,往往束手无措,更不要说预防 Bug 了。 因此,作为一位优秀的CSS