-2

我正在制作的网站布局有问题。我对 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; } 

可以在这里看到一个示例。

毕竟我确实设法使我的菜单栏居中。然而,主页和事件菜单之间似乎有一点差距,我不知道如何摆脱它。

有任何想法吗?先感谢您。

4

2 回答 2

0

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

于 2012-04-28T21:13:14.643 回答
-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>

试试这个新代码。虽然我敦促你不要在不了解它的情况下尝试实现别人的代码!

于 2012-04-28T18:03:17.740 回答