-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 に答える