CSS表格单元格上有空格

时间:2017-05-16 10:57:01

标签: html css css-tables cells

我有以下HTML代码:

    .container {
        display: table;
        width: 100%;
        height: 100%;
      }
    
      .menu-container {
        width: 150px;
        height: 100%;
        background: #1b1b1b;
        color: #fff;
        display:table-cell;
      }
    
      .menu-container h1 {
        margin: 0px;
        width: 100%;
        padding: 5px 0px 5px 15px;
        background: #171717;
        font-weight: 600;
      }
    
      .main-container {
        width: auto;
        display:table-cell;
        box-shadow: -10px 0px 40px -10px #000000;
      }
    
    .container-header {
          width: 100%;
          background: red;
       }
<div class="container">
  <div class="menu-container">
    <h1>Browse</h1>
    <menu-container></menu-container>
  </div>
  <div class="main-container">
    <div>
      <div class="container-header">some text</div>
      random text
    </div>
  </div>
</div>

以下是它的外观:

screenshot1

正如您所看到的,在“some text”元素之前有一个空格。我不希望这个额外的空间我希望元素从它的容器顶部开始。我尝试了一些技巧,例如margin-top:-Xpx,但它没有用。我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

这是你想要的吗?

只需在display:flex上使用container

&#13;
&#13;
.container {
  display: table;
  width: 100%;
  height: 100%;
  display:flex;
}

.menu-container {
  width: 150px;
  height: 100%;
  background: #1b1b1b;
  color: #fff;
  display: table-cell;
}

.menu-container h1 {
  margin: 0px;
  width: 100%;
  padding: 5px 0px 5px 15px;
  background: #171717;
  font-weight: 600;
}

.main-container {
  width: 100%;
  display: table-cell;
  box-shadow: -10px 0px 40px -10px #000000;
}

.container-header {
  width: 100%;
  background: red;
}
&#13;
<div class="container">
  <div class="menu-container">
    <h1>Browse</h1>
    <menu-container></menu-container>
  </div>
  <div class="main-container">
    <div>
      <div class="container-header">some text</div>
      random text
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

请检查一下。

.container {
    display: table;
    width: 100%;
    height: 100%;
  }

  .menu-container {
    width: 20%;
    height: 100%;
    background: #171717;
    color: #fff;
    display: table-cell;
    float: left;
  }

  .menu-container h1 {
    margin: 0px;
    width: 100%;
    padding: 5px 0px 5px 15px;
    font-weight: 600;
  }

  .main-container {
    width: auto;
    display: table-cell;
    box-shadow: -10px 0px 40px -10px #000000;
    float: left;
    width: 80%;
  }

.container-header {
      width: 100%;
      background: red;
   }
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    
});
</script>
</head>
<body>

<div class="container">
          <div class="menu-container">
            <h1>Browse</h1>
            <menu-container></menu-container>
          </div>
          <div class="main-container">
<div><div class="container-header">some text</div>
  random text
</div>
          </div>
        </div>

</body>
</html>

希望它对你有所帮助。

感谢。

答案 2 :(得分:0)

另一种可能的解决方案,但不更改显示属性:

.main-container {
    width: auto;
    vertical-align: top; // <= 
    display: table-cell;
}