我已经做了一年多的网页设计,但有时候前端仍然会发生奇怪的事情。我正在使用以下代码创建一个供个人使用的简单模板:
<!DOCTYPE html>
<html>
<head>
<title>Matt's Template</title>
<!-- Stylesheets -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css" type="text/css" />
<link rel="stylesheet" href="CSS/general.css" type="text/css" />
</head>
<body>
<section class="container">
<h1>Matt's Template</h1>
</section>
<!-- Javascript Libraries -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.0/jquery.min.js" ></script>
<!-- My Javscript -->
</body>
</html>
如果我在Chrome浏览器中查看此代码,则主体会从html标记向下移动约15px。但是,我的css明确告诉html和body标签没有填充或边距。那么为什么会有这个空间?这发生在以前,我不确定我是如何解决它的。必须有一些明显的答案。这也是我的css。
html, body {
height:100%;
width:100%;
padding:0;
margin:0;
}
.container {
height:100%;
width:960px;
position:relative;
margin:0 auto;
padding:0;
background:#E0E0E0;
}
答案 0 :(得分:3)
问题是你的<h1>
仍然有其默认边距,你只取下了8px的默认<body>
边距,而不是其他具有默认UA样式的元素。您应该考虑使用reset,以便为每个元素“从头开始”。
答案 1 :(得分:2)
答案 2 :(得分:1)
那是因为h1有一个浏览器指定的默认边距;这可能有点凌乱。 有些人这样做是为了防止默认边距和填充:
* {
margin: 0;
padding: 0;
}
字面意思是:
“嗨浏览器,请取消所有现有元素的所有默认边距和填充。谢谢!”