好,
这已经有一段时间了,因为这种情况一直持续下去,我从来没有时间问过为什么:
所以这是我非常简单的HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Page Title</title>
<style>
div{
width: 200px;
background: green;
}
p{
background: yellow;
margin: 40px;
}
</style>
</head>
<body>
<div>
<p>Testing</p>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
没什么特别的,只有一个带div的简单页面和div里面的一个段落.
但是你可以注意到在css上我声明段落与divs界限相差40px ......这就发生了

那是对的......顶部和底部边距被忽略了......
但是如果我添加一个1px的红色边框div:
div{
width: 200px;
background: green;
border: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的:

所以,是的,这对我来说真的听起来很奇怪...这是在safari中发生的,但我相信它会在其他浏览器上发生同样的事情......我的问题是......为什么会发生这种情况?
有没有办法解决它?
提前致谢