如何删除HTML标题上方的空格(边距)?

时间:2013-01-20 10:57:10

标签: css html5 margin html-heading

我正在创建一个网站。

我已经编写了html部分,现在我正在编写样式表。但是我的标题总是有一些空间。我无法删除它。

我的HTML和CSS代码如下所示。

<header>
 <h1>OQ Online Judge</h1>
 <form action="<?php echo base_url();?>/index.php/base/si" method="post">
  <label for="email1">E-mail : </label><input type="text" name="email" id="email1">
  <label for="password1">Password : </label><input type="password" name="password" id="password1">
  <input type="submit" name="submit" value="Login">
 </form>
</header>

这是我的HTML代码。

body{
margin: 0px;
padding: 0px;
}
header{
margin: 0px;
padding: 0px;
height: 20em;
background-color: #C0C0C0;
}

这是我的css代码。

8 个答案:

答案 0 :(得分:50)

尝试:

h1 {
    margin-top: 0;
}

您正在看到margin collapsing的效果。

答案 1 :(得分:8)

尝试margin-top:

<header style="margin-top: -20px;">
    ...

编辑:

现在我发现相对位置可能是更好的选择:

<header style="position: relative; top: -20px;">
    ...

答案 2 :(得分:6)

当您开始创建网站以重置所有边距和填充时,这是一种很好的做法。所以我建议开始时只做简单的事情:

* { margin: 0, padding: 0 }

这将使所有元素的边距和填充为0,然后您可以根据需要设置样式,因为每个浏览器都有不同的默认边距和元素填充。

答案 3 :(得分:3)

我通过添加边框来解决空间问题,并通过设置负边距来移除。不知道底层问题是什么。

header {
  border-top: 1px solid gold !important;
  margin-top: -1px !important;
}

答案 4 :(得分:2)

为了防止将来出现意外边距和其他特定于浏览器的行为,我建议您在样式表中加入reset.css

请注意,您必须设置h [1..6]字体大小和重量,以便在此之后再次将标题看作标题,以及许多其他内容。

答案 5 :(得分:2)

为了完整起见,将overflow更改为auto / hidden也应该可以解决问题。

&#13;
&#13;
body {
  margin: 0px;
  padding: 0px;
}

header {
  margin: 0px;
  padding: 0px;
  height: 20em;
  background-color: #C0C0C0;
  overflow: auto;
}
&#13;
<header>
  <h1>OQ Online Judge</h1>

  <form action="<?php echo base_url();?>/index.php/base/si" method="post">
    <label for="email1">E-mail :</label>
    <input type="text" name="email" id="email1">
    <label for="password1">Password :</label>
    <input type="password" name="password" id="password1">
    <input type="submit" name="submit" value="Login">
  </form>
</header>
&#13;
&#13;
&#13;

答案 6 :(得分:0)

可能是导致问题的h1标记。应用margin: 0;可以解决问题。

但是你应该为每个新项目使用CSS重置来消除浏览器的一致性和像你这样的问题。可能最着名的是Eric Meyer的:http://meyerweb.com/eric/tools/css/reset/

答案 7 :(得分:0)

这个css允许chrome和firefox正常渲染我页面上的所有其他元素,并删除我的h1标签上方的边距。此外,当页面调整大小时,em可以比px更好地工作。

h1 {
  margin-top: -.3em;
  margin-bottom: 0em;
}