html - 在CSS中计算高度

标签 html css css-float

我有一个这样的CSS:

#sidebar {
   float: left;
   margin: 0;
   padding: 0;
   background: #044169;
}
#sidebar-menu {
   height: 100%;
   margin: 0;
   padding: 0;
   background: #CCCCCC;
}

(称之为 test.css)和一个简单的 HTML 文件,如下所示:

<!DOCTYPE html>
<html>
<head>
   <link rel="stylesheet" href="test.css">
</head>
<body>
  <h1>Test</h1>
  <div id="sidebar">
      <div id="sidebar-menu">
          <ul>
             <li>One</li>
          </ul>
      </div>
  </div>
</body>
</html>

真的不明白为什么sidebar-menu35px高,并且sidebar51px宽的。不应该sidebar-menu高达sidebar ...?!?

在我的脑海里,我想:好吧,margins是 0, paddings都是 0,所以包含元素 sidebar-menu ,其中有 height:100% (我认为容器的)应该和容器一样大!

我显然遇到了一些非常错误的事情......

最佳答案

侧边栏菜单元素内有一个未设置样式的无序列表。默认情况下,列表具有边距/填充。添加:

ul {
    margin:0;
    padding:0;
}

现在侧边栏菜单的大小与其容器完全相同。

Demo

关于html - 在CSS中计算高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11629694/

相关文章:

javascript - 在 Chrome 中使用 HTML5 和 getUserMedia 录制音频

javascript - 给ngbind添加三个点

javascript - jQuery 添加/删除类到非同级 DIV ID?

javascript - css3 转换 matrix3d 值

css - 如何选择没有类的元素?

python - 使用 BeautifulSoup 查找具有两种特定样式的标签

css - float 的 div 仍然在垂直线上,而不是它们应该水平的

css - 如果一个 div 有 "clear:right",没有东西应该漂浮在它的右边,不是吗?

html - float 元素位置改变元素对齐方式

html - HTML.haml 中的复选框列表