菜单项之间的尴尬差距。怎么修?

时间:2012-04-28 17:46:38

标签: php html css

我正在制作我正在制作的网站布局。 我对CSS不是很了解。

所以我遇到的麻烦就是我想要一个水平的菜单栏,我想在我的网站中居中。这个菜单可以有下拉儿童。

实现在jQuery中。 这是我的菜单栏的HTML代码:

<ul class='dropdown'>
    <li><a href='index.php'>Home</a></li>
    <li><a href='#'>Incident</a>
        <ul class='sub_menu'>
            <li><a href='index.php?action=new'>New</a></li>
            <li><a href='index.php?action=edit'>Edit</a></li>
            <li><a href='index.php?action=manage'>Manage</a></li>
        </ul>
    </li>
    <li><a href='action_logout.php'>Log out</a></li>
</ul>

这是正在实施的CSS:

*                                   { margin: 0; padding: 0; }
body                                { font: 14px Helvetica, Sans-Serif; margin: 15px; } 
a                                   { text-decoration: none; }
ul                                  { width: 800px; list-style: none; text-align: center; margin: auto; padding: 2px 2px;}
p                                   { margin: 15px 0; }
/* 
    LEVEL ONE
*/
ul.dropdown                         { position: relative; }
ul.dropdown li                      { display: inline; font-weight: bold; background: #ccc; padding: 2px 2px; border-bottom: 1px solid #777; }
ul.dropdown a:hover              { color: #000; }
ul.dropdown a:active                { color: #ffa500; }
ul.dropdown li a                    { display: inline; padding: 2px 8px; border-right: 1px solid #777; border-bottom: 1px solid #777;
                                  color: #222; }
ul.dropdown li:last-child a         { border-right: none; } /* Doesn't work in IE */
ul.dropdown li.hover,
ul.dropdown li:hover                { background: #F3D673; color: black; position: relative; }
ul.dropdown li.hover a              { color: black; }
/* 
    LEVEL TWO
*/
ul.dropdown ul                      { width: 175px; visibility: hidden; position: absolute; top: 100%; left: 0; text-align: left; }
ul.dropdown ul li                   { font-weight: normal; background: #f6f6f6; color: #000; 
                                  border-bottom: 1px solid #ccc; float: none; }
                                /* IE 6 & 7 Needs Inline Block */
ul.dropdown ul li a                 { border-right: none; width: 100%; display: inline-block; } 

An Example can be seen here.

我确实设法将菜单栏放在中心位置。然而,Home和Incident菜单之间似乎有一点差距,我不知道如何摆脱它。

有什么想法吗? 提前谢谢。

2 个答案:

答案 0 :(得分:0)

不知怎的,你设法将空格放在<li>元素之外,这里的代码完全相同,删除了空格: http://jsfiddle.net/fPAFs/1/

答案 1 :(得分:-1)

这个怎么样:http://dabblet.com/gist/2520870

你的代码很乱。

<style>
    * {
        padding: 0;
        margin:  0;
    }

    body {
        font-family: helvetica, serif;
        font-size:   14px;
    }

    ul {
        list-style-type: none;
    }

    .dropdown {
        text-align: center;
        font-size:  0;
        margin:     15px;
    }

    ul.dropdown ul {
        width:      220px;
        visibility: hidden;
        position: absolute;
        top: 1.8em;
        left: 0;
    }

    ul.dropdown ul li a {
        font-weight:   normal;
        background:    #f6f6f6;
        color:         #000;
        border-bottom: 1px solid #ccc;
        float:         none;
    }

    .dropdown > li {
        display:   inline-block;
        height:    1.2em;
        font-size: 14px;
        position: relative;
    }

    .dropdown li a {
        display:         block;
        background:      rgb(204, 204, 204);
        border-bottom:   rgb(119, 119, 119) 1px solid;
        border-right:    rgb(119, 119, 119) 1px solid;
        padding: 0.3em;
        color:           rgb(0, 0, 0);
        text-decoration: none;
        font-weight:     bold;
    }

    .dropdown li a:hover {
        background: rgb(243, 214, 115);
    }
</style>

<ul class='dropdown'>
    <li><a href='index.php'>Home</a></li>
    <li><a href='#'>Incident</a>
        <ul class='sub_menu'>
            <li><a href='index.php?action=new'>New</a></li>
            <li><a href='index.php?action=edit'>Edit</a></li>
            <li><a href='index.php?action=manage'>Manage</a></li>
        </ul>
    </li>
    <li><a href='action_logout.php'>Log out</a></li>
</ul>

试试这个新代码。虽然我敦促你不要先试着去实现别人的代码!