出于某种原因,用户代理会覆盖我的CSS,并在我正在创建的网站上添加边距。我搜索了stackoverflow的答案,但似乎没有解决我的问题。
以下是一个例子:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>EXAMPLE</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="site-wrapper">
<div class="menu">
<div class="nav">
<ul>
<li><a href="#">EXAMPLE</a></li>
<li ><a href="/spots">EXAMPLE</a></li>
<li ><a data-method="delete" href="/users/sign_out" rel="nofollow">EXAMPLE</a></li>
</ul>
</div>
</div>
<div class="content">
<p id="notice"></p>
<div class="container">
</div>
</div>
</div>
</body>
</html>
CSS:
html,
body {
height:100%;
width:100%;
margin: 0px;
display: block;
}
.site-wrapper {
display: block;
background-color: yellow;
width: 100%;
height: 100%;
}
.nav {
background-color: red;
}
.content {
background-color: blue;
width: 300px;
height: 300px;
}
.menu {
font-weight: 400;
top:50%;
margin-top:-115px;
position:absolute;
width:100%;
text-align: center;
font-size: 12px;
letter-spacing: .75;
}
ul {
list-style: none;
line-height: 40px;
padding: 0px;
display: block;
}
答案 0 :(得分:0)
答案 1 :(得分:0)
问题是由边距折叠引起的 - 父元素没有边距(或填充),因此使用了段落的边距。
您可以按j08691的建议删除段落中的边距,也可以通过向父容器添加样式来阻止边距折叠 - 请参阅此问题:How to disable margin-collapsing?
例如,这将有所帮助:
.content {
display: inline-block;
}
答案 2 :(得分:0)
您可以使用此代码为所有元素设置边距
*{
margin:0;
padding:0;
}