2012-02-11 8 views
0

私はこれをチュートリアルのウェブサイトから入手し、私のウェブサイト用に変更していました。CSSメニューの上向き?

誰かがこのCSSメニューコードを下に行くのではなく上方に展開するのを助けることができるのかどうか疑問に思っていました。

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style type="text/css"> 
body { 
    font-family: Verdana, Helvetica, sans-serif; 
    background:#F0F0F0; 
    margin: 0; 
    padding: 0; 
    color: #000; 
} 
#menu { 
    clear: both; 
    float: left; 
    margin: 0; 
    padding: 0; 
    border-bottom: 1px solid #000; 
    width: 100%; 
    font-size: 90%; 
    z-index: 1000; 
    position: relative; 
} 
#menu ul { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
    float: right; 
    position: relative; 
    right: 50%; 
} 
#menu ul li { 
    margin: 0 0 0 1px; 
    padding: 0; 
    float: left; 
    position: relative; 
    left: 50%; 
    top: 1px; 
} 
#menu ul li a { 
    display: block; 
    margin: 0; 
    padding: .6em .5em .4em; 
    font-size: 1em; 
    line-height: 1em; 
    background: #ddd; 
    text-decoration: none; 
    color: #444; 
    font-weight: bold; 
    border-bottom: 1px solid #000; 
} 
#menu ul li.active a { 
    color: #fff; 
    background: #000; 
} 
#menu ul li a:hover { 
    background: #36f; 
    color: #fff; 
    border-bottom: 1px solid #03f; 
} 
#menu ul li:hover a, 
#menu ul li.hover a { 
    background: #36f; 
    color: #fff; 
    border-bottom: 1px solid #03f; 
} 
#menu ul ul { 
    display: none; 
    position: absolute; 
    top: 2em; 
    left: 0; 
    right: auto; 
    width: 10em; 
} 
#menu ul ul li { 
    left: auto; 
    margin: 0; 
    clear: left; 
    width: 100%; 
} 
#menu ul ul li a, 
#menu ul li.active li a, 
#menu ul li:hover ul li a { 
    font-size: .8em; 
    font-weight: normal; 
    background: #eee; 
    color: #444; 
    line-height: 1.4em; 
    border-bottom: 1px solid #ddd; 
} 
#menu ul ul li a:hover, 
#menu ul li.active ul li a:hover, 
#menu ul li:hover ul li a:hover { 
    background: #36f; 
    color: #fff; 
} 
#menu ul ul.last { 
    left: auto; 
    right: 0; 
} 
#menu ul li:hover ul { 
    display: block; 
} 
</style> 
</head> 
<body> 
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /> 
<div id="menu"> 
    <ul> 
     <li><a href="#">Tab one</a> 
     <ul> 
      <li><a href="#">Link one</a></li> 
      <li><a href="#">Link two</a></li> 
      <li><a href="#">Link three</a></li> 
      <li><a href="#">Link four</a></li> 
      <li><a href="#">Link five</a></li> 
     </ul> 
     </li> 
     <li class="active"><a href="#" class="active">Tab two</a> 
     <ul> 
      <li><a href="#">Link one</a></li> 
      <li><a href="#">Link two</a></li> 
      <li><a href="#">Link three</a></li> 
      <li><a href="#">Link four</a></li> 
      <li><a href="#">Link five is a long link that wraps</a></li> 
     </ul> 
     </li> 
     <li><a href="#">Long tab three</a> 
     <ul> 
      <li><a href="#">Link one</a></li> 
      <li><a href="#">Link two</a></li> 
      <li><a href="#">Link three</a></li> 
      <li><a href="#">Link four</a></li> 
      <li><a href="#">Link five</a></li> 
     </ul> 
     </li> 
     <li><a href="#">Tab four</a> 
     <ul class="last"> 
      <li><a href="#">Link one</a></li> 
      <li><a href="#">Link two</a></li> 
      <li><a href="#">Link three</a></li> 
      <li><a href="#">Link four</a></li> 
      <li><a href="#">Link five</a></li> 
     </ul> 
     </li> 
    </ul> 
</div> 
</body> 
</html> 

答えて

2

簡単な解決策は#menu ul ultopを削除し、bottom:2.2em

デモを追加することができますhttp://jsfiddle.net/QMaAu/1

+0

-10 emは10emで上を行くことを意味します。 –

+0

@SetuShahはい。または、 'top:-10em'を削除して、' bottom:2.2em'を追加することもできます。これははるかに良い解決策です。もちろん、あなたのニーズに合ったものに値を変更することができます – Sotiris

+0

助けてくれてありがとう。それは私が望むのと同じように見える:D。 –

0

どのようにいくつかのJSを使用して、親上記のメニューの位置を設定することについてはどうですか? メニュー内のチェック項目を設定すると、ポジション=親の位置 - (アイテムの高さ*アイテム数)

+0

私はJSに手掛かりがありません。私はいくつかのより詳細なヘルプをお勧めします。 私はJSを全く実装しても構いません。 –