容器和导航栏之间的奇怪空间

时间:2012-03-29 23:37:53

标签: html css whitespace containers navbar

好的,最奇怪的事情正在发生我将导航栏与容器分开,现在有一个空间,应该没有,我尝试了所有设置div边距和填充,我希望它是干净的,而不必使用负边距,任何帮助非常感谢。

HTML

 <html>
   <head>
   <meta charset="utf-8">
   <title>Test</title>
   <link href="body.css" rel="stylesheet" type="text/css">
    <link href="navbar1.css" rel="stylesheet" type="text/css">
    </head>

    <body>
       <div id="navbar">
        <ul>
         <li>black</li>
         <li>blue</li>
         <li>green</li>
         <li>yellow</li>
         <li>haha</li>
         <li>good</li>
        </ul>
    </div><!-- End of navbar -->
    <div id="container">
    <div class="logo">
            <img src="" alt="sun" />
    </div><!-- End of logo -->

    <div id="header1">
            <span>Hello World</span>
    </div><!-- End of header -->

    <div class="logo">
            <img src="" alt="sun" />
    </div><!-- End of logo -->
    <div id="p1">
            <p> up </p>
    </div><!-- End of p1 -->
        </div><!-- End of container -->
    </body>
    </html>

CSS

#navbar /* navbar container */
{
    background-color:#999;
    border-bottom:solid 3px #333;
    margin:0px;
}
#navbar ul /* unordered lists withinin navbar container */
{
    width:1000px;
    text-align:center;
    margin-top:0px;
    margin-bottom:0px;
    list-style:none;
    margin-left:auto;
    margin-right:auto;
    padding:0px;
    font-family:"Times New Roman", Times, serif;
    font-size:16px;
    color:#9900FF;

}

#navbar li /* list items within navbar container */
{
    padding-left:20px;
    padding-right:20px;
    display:inline;
    border-right:solid 2px #33FFFF;
    border-left:solid 2px #33FFFF;
}

CSS#2

body /* this is to set the body element, but mostly used for removing margins. */
{
    margin:0px;
    background-color:#666666;
}

#container /* this is our overall content container. */
{
    width:1000px;
    margin-right:auto;
    margin-left:auto;
    background-color:#CCCCCC;
    border-left:groove 5px #444;
    border-right:groove 5px #444;
    border-bottom:groove 5px #444;
}

.logo img /* this is logo on the right side. */
{
    height:100px;
    width:200px;
    float:left;

}

#header1 /* This is the header directly between the logos */
{
    height:96px;
    width:592px;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-size:48px;
    float:left;
    text-align:center;
    alignment-baseline:middle;
    border-left:dashed 4px #00F;
    border-right:dashed 4px #00F;
    border-bottom:dashed 4px #00F;
}

3 个答案:

答案 0 :(得分:1)

这很简单。你需要像“reset.css”这样的东西...设置所有默认的css应该是......但是现在这将是一个简单的修复:

*
{
   margin:  0;
   padding: 0;
}

答案 1 :(得分:0)

将此添加到您的CSS中,您应该没问题:

#p1 p {
    margin:0;
}

<强> jsFiddle example 即可。 p1 div中段落标记的默认边距是原因。

答案 2 :(得分:0)

我已更新您的代码,请检查: -

HTML

    <title>Test</title>
   <link href="body.css" rel="stylesheet" type="text/css">
    <link href="navbar1.css" rel="stylesheet" type="text/css">
    </head>

    <body>
       <div id="navbar">
        <ul>
         <li>black</li>
         <li>blue</li>
         <li>green</li>
         <li>yellow</li>
         <li>haha</li>
         <li>good</li>
        </ul>
    </div><!-- End of navbar -->
    <div id="container">
    <div class="logo">
            <img src="" alt="sun" />
    </div><!-- End of logo -->

    <div id="header1">
            <span>Hello World</span>
    </div><!-- End of header -->

    <div class="logo">
            <img src="" alt="sun" />
    </div><!-- End of logo -->
    <div id="p1">
            <p> up </p>
    </div><!-- End of p1 -->
        </div><!-- End of container -->
    </body>
    </html>

CSS

body /* this is to set the body element, but mostly used for removing margins. */
{
    margin:0px;
    padding:0px;
    background-color:#666666;
}

#navbar /* navbar container */
{
    background-color:#999;
    border-bottom:solid 3px #333;
    margin:0px;
}
#navbar ul /* unordered lists withinin navbar container */
{
    width:1000px;
    text-align:center;
    margin-top:0px;
    margin-bottom:0px;
    list-style:none;
    margin-left:auto;
    margin-right:auto;
    padding:0px;
    font-family:"Times New Roman", Times, serif;
    font-size:16px;
    color:#9900FF;

}

#navbar li /* list items within navbar container */
{
    padding-left:20px;
    padding-right:20px;
    display:inline;
    border-right:solid 2px #33FFFF;
    border-left:solid 2px #33FFFF;
}

#container /* this is our overall content container. */
{
    width:1000px;
    margin:auto;
    background-color:#CCCCCC;
    border-left:groove 5px #444;
    border-right:groove 5px #444;
    border-bottom:groove 5px #444;
}

.logo img /* this is logo on the right side. */
{
    height:100px;
    width:200px;
    float:left;

}

#header1 /* This is the header directly between the logos */
{
    height:96px;
    width:592px;
    font-family:Georgia, "Times New Roman", Times, serif;
    font-size:48px;
    float:left;
    text-align:center;
    alignment-baseline:middle;
    border-left:dashed 4px #00F;
    border-right:dashed 4px #00F;
    border-bottom:dashed 4px #00F;
}

我添加了保证金填充:0;在你的CSS中,你可以使用reset.css,这将保存你的默认额外的边距填充....

请参阅演示: - http://jsfiddle.net/6xuSp/35/