为什么<ul>会增加额外的保证金?

Ale*_*lex 10 html css html5

我有一个简单的html页面,其中有一些风格,我不明白为什么增加一些上边距?

这是来源:

<!doctype html>
<html>

<head>
  <title></title>
  <style type="text/css">
    body {
      margin: 0;
      padding: 0;
      background-color: #ffffcc;
    }
    #content {
      width: 900px;
      margin-left: auto;
      margin-right: auto;
      border: 0;
      background-color: #ccccff;
    }
  </style>
</head>

<body>
  <div id="content">
    <div>
      <ul>
        <li><a href="./xxx.html">xxx</a>
        </li>
        <li><a href="./yyy.html">yyy</a>
        </li>
        <li><a href="./zzzz.html">zzz</a>
        </li>
      </ul>
    </div>
  </div>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

这是"烦人"的空间.

在此输入图像描述

如果我添加"margin-top:0;" 这个空间已经消失了......但是在我明白为什么之前,我并不开心.

cku*_*jer 6

边距<ul>来自浏览器添加到元素的默认样式.例如,如果你打开Chrome的DevTools并检查<ul>元素,你会看到这样的样式.该用户代理样式表指的是浏览器的默认样式.1em边距变为默认情况下16px浏览器font-size: 16px的默认值.

由于浏览器之间的默认样式不同,常见的技术是使用重置样式表,如Eric Meyer的Reset CSSNicolas Gallagher的normalize.css,以减少这些浏览器的不一致性.

从Chrome的DevTools获取的默认<code> <ul> </ code>样式