2011-12-31 52 views
1

的部分我有一個CSS菜單。當我將鼠標懸停在項目上時,會出現它們的下拉菜單。我用一些CSS陰影這樣的:CSS:隱藏在我的網頁陰影

#menu li:hover 
{ 
    //... 
    -moz-box-shadow: -2px 0px 5px #000; 
    -webkit-box-shadow: -2px 0px 5px #000; 
    box-shadow: -2px 0px 5px #000; 
} 

也是我下拉類,我用一些陰影:

.drop-down 
{ 
    //... 
    display:none; 
    -moz-box-shadow: -2px 2px 5px #000; 
    -webkit-box-shadow: -2px 2px 5px #000; 
    box-shadow: -2px 2px 5px #000; 
} 

的結果是這樣的:

Shadow

所以我的問題是,我怎麼能隱藏第一項下的陰影,並使下拉菜單看起來像一個單一的對象(不分開)?

編輯:這裏 是在HTML和CSS來顯示下拉:

<ul id="menu"> 
    <li><a href="#">First Item</a> 
    <div class="drop-down"> 
     <div> 
      ...</div> 
    </div> 
    </li> 
</ul> 

#menu li:hover .drop-down 
{ 
    left: -1px; 
    display: block; 
    top: auto; 
} 

這裏是一個simple version of that in jsfiddle.net

+0

粘貼HTML了。 – andrewk 2011-12-31 08:24:42

+0

這是很難說沒有你的HTML,但你將不得不刪除'#menu李底部陰影:從'.drop-down' hover'和頂部陰影。 – Virendra 2011-12-31 08:26:38

+0

謝謝。我已經添加了HTML和多一點css – 2011-12-31 08:40:27

回答

0

如果我理解正確的話,你希望有一個單一的邊界圍繞菜單項文本和顯示的菜單應用。這個在你張貼的jsfiddle的主要問題似乎是.drop-down具有絕對的位置,是不是其父的div塊內。當然,您希望將下拉菜單放在絕對位置,以便它們不會影響頁面上的其他元素(即按下正文文本)。

因此,最好的解決方案可能是重複菜單文本里面的下拉菜單,並絕對將其放在一行中,因此它覆蓋了原始菜單文本。這樣,你可以將任何你想要的樣式作爲一個單位來應用。

+0

謝謝,但我怎麼能做到這一點?我從未創造過如此複雜的形狀。 – 2012-01-02 09:59:12

+0

你可以在CSS中使用'potition:absolute'來做到這一點。然而,最實用的解決方案可能是在網上搜索一個您喜歡的JavaScript菜單並使用它 - 有很多免費資源可用於這類事情。 – 2012-01-02 10:13:06

+0

我想使用CSS菜單,這是完成的。唯一的問題是陰影,如果它產生很多問題,我寧願使用另一個菜單去除陰影。謝謝您的幫助。 – 2012-01-02 16:06:20