我的导航区域下面有一个小空间

时间:2015-07-26 02:57:55

标签: html css

为什么我的导航区域下面有一个小空间。我已将导航的边距设置为0,并将其下方的所有内容设置为0。空间仍然没有消失。这是我的标记。

<!DOCTYPE html>
<html>
  <head>
    <title>HTML5</title>
      <style>
        body{
          width: 964px;
          background-color: white;
          margin: 0 auto;
          border: 1px solid black;
          font-family: sans-serif;
        }

        nav{
          width: 964px;
          background-color: blue;
          margin: 0;
        }

        nav ul {
          list-style-type: none;
          padding: 0;
          margin: 0;
        }

        nav ul li {
          display: inline-block;
          float: left;  
        }
        nav ul li a{
          display: inline-block;
          padding: 10px;
          text-decoration: none;
          color: #fff;
          background-color: blue;
        }

        nav ul li a:hover{
          background-color: #00a;
        }

        header{
          text-align: center;
          background-color: orange;
        }

        header h1{
          margin: 0;
          padding: 20px;
        }

        aside{
          float: left;
          width: 180px;
          height: 500px;
          background-color: red;
        }

        aside ul{
          list-style-type: none;
          padding-left: 15px;
        }

        aside ul li a{
          display: inline-block;
          text-decoration: none;
          background-color: #080;
          padding: 5px;
          width: 139px;
          color: white;
          border-bottom: 1px solid black;
        }

        aside ul li a:hover{
          background-color: #050;
        }

        section{
          height: 500px;
          width: 964px;
          background-color: green;
        }

        footer{
          clear: both;
          background-color: yellow;
          text-align: center;
          padding: 5px;
        }

        .clearfix:after{
          content: " ";
          display: block;
          clear: both;
          visibility: hidden;
          line-height: 0;
          height: 0;
        }

        .clearfix{
          display: inline-block;
        }
      </style>
  </head>
  <body>
    <header><h1>Header</h1></header>
      <nav class="clearfix">

        <ul>
          <li><a href="#">HOME</a></li>
          <li><a href="#">CONTACT</a></li>
          <li><a href="#">ABOUT</a></li>
        </ul>
      </nav>
      <aside>
        <ul>
          <li><a href="#">Champions</a></li>
          <li><a href="#">Runes</a></li>
          <li><a href="#">Skins</a></li>
          <li><a href="#">Masteries</a></li>
        </ul>
      </aside>
    <section></section>
    <footer>footer</footer>
  </body>
</html>

我只是想消除导航和旁边之间的空间,但是导航附近的每个容器上的Putting margin:0都不起作用。

2 个答案:

答案 0 :(得分:6)

$p = [ 'error' => '', 'initialPreviewConfig' => [ [ 'url' => 'http://localhost/avatar/delete', // server delete action 'key' => $_POST['file_id'], 'extra' => ['id' => $_POST['file_id']] ] ] ] 是一个伪元素,它告诉浏览器在内容之后在元素中呈现假元素。

:after

这是一个块元素,这意味着它占用了它的父级的全宽。但是,以下规则将伪元素的父.clearfix:after{ content: ""; display: block; clear: both; } 转换为内联块元素。这意味着该元素将仅占用其内容所需的最小宽度。

.clearfix

您正在看空间,因为内联块元素以字符形式内联呈现,元素两侧的空白区域呈现为单个空格。您可以使用以下任一方法解决此问题。

  • 删除内联阻止规则

    Demo

    .clearfix{
        display: inline-block;
    }
    
  • 或者,将父级的字体大小设置为0,然后将所有直接子级的字体大小设置为基本字体大小。

    Demo

    .clearfix{
        display: inline-block;
    }
    

答案 1 :(得分:0)

删除以下属性时,它会删除空格...

.clearfix {
    display: inline-block;
}