【问题标题】:Margin doesn't work? Need space between two elements保证金不起作用?两个元素之间需要空间
【发布时间】:2013-08-30 10:58:26
【问题描述】:

首先,我很抱歉我没有把我的链接放在这里,这是一个工作网站,我不被允许。如有必要,我会发布代码的相关部分。

所以问题是非常基本的 - 我有一个带有一些图像的 div 和一个标题 <h3> 下面是我的内容开始的地方。无论我如何尝试在两者之间创造一些空间,它都不起作用。我已经在两个元素上尝试了边距和填充,在相对位置和绝对位置之间进行更改,并添加了很多 <br> 标签。没有任何效果!

是什么导致我的两个元素如此相互吸引?什么可能导致无法在两个元素之间创建空间?

谢谢!

编辑:这是我的 div 的 CSS 代码:

.bmwrapper {
    width: 720px;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.bmvenstre {
    float: left;
    text-align: left;
    z-index: 1;
}

.bmhoyre {
    float: right;
    text-align: left;
    z-index: 1;
}

所以它是一个充当包装器的大 div,内部有两个 div(左和右)。链接显示为块:

a.bmlink {
    display: block;
    margin: 0;
    padding: 4px;
    font-family: Tahoma, Verdana, Segoe, sans-serif;
    text-transform: uppercase;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #08A;
    text-decoration: none;
    z-index: 2;
}

这个div下面的标题只是一个<h3>标签,然后是一些文本。希望这会有所帮助!

【问题讨论】:

  • 我会发布一些代码。
  • 听起来像margin colpase
  • 可能有很多假设。我们需要看一些代码。仅在此处发布相关代码,我们将尽力提供帮助
  • 如果没有代码示例,无法进一步诊断此问题。如果您插入<br /> 标签没有任何效果,那么position: absolute 是可能的原因,可能是猜测。
  • 我已经发布了一些代码!

标签: css html margin padding space


【解决方案1】:

你可以尝试两件事:

1) 把元素overflow:hidden

2) 放元素 display:block

如果数字 2 搞砸了你的设计,试着把它们放在 float:left;

由于我没有代码,我无法为您提供更多信息,但是当边距/填充不起作用时,通常是因为您将其应用于内联项目(因此编号为 2)或者您有一个容器,里面的所有东西都是浮动的,所以容器的高度不合适(因此是数字 1)

【讨论】:

    【解决方案2】:

    听起来像margin collapse。以下是您可以解决此问题的几种方法:

    给你的内容 div 一个透明的边框或者给你的内容 div 的 css 声明 overflow: auto;

    有些人在给它一个1px 边框时,他们也给它一个-1px 边距以对抗边框。

    【讨论】: