2013-02-01 154 views
0

你好,CSS - 如何拉伸菜單的背景

有人可以幫助我,我怎麼能拉伸菜單的背景(從左到右的全寬)? 我是初學者。

謝謝。

#menu, #menu ul { 
    margin: 0; 
    padding: 0; 
    list-style: none; 
} 

#menu { 
    width:100%; 
    margin: 0px; 
    background-color: #3d56ac; 
    background-image: linear-gradient(#444, #111); 

} 

#menu:before, 
#menu:after { 
    content: ""; 
    display: table; 
} 

#menu:after { 
    clear: both; 
} 

#menu { 
    zoom:1; 
} 

#menu li { 
    float: left; 
    border-right: 1px solid #222; 
    box-shadow: 1px 0 0 #444; 
    position: relative; 
} 

#menu a { 
    float: left; 
    padding: 12px 30px; 
    color: #FFF; 
    text-transform: uppercase; 
    font: bold 12px Arial, Helvetica; 
    text-decoration: none; 
    text-shadow: 0 1px 0 #111; 
} 

#menu li:hover > a { 
    color: #fafafa; 
} 

*html #menu li a:hover { /* IE6 only */ 
    color: #fafafa; 
} 

#menu ul { 
    margin: 20px 0 0 0; 
    _margin: 0; /*IE6 only*/ 
    opacity: 0; 
    visibility: hidden; 
    position: absolute; 
    top: 38px; 
    left: 0; 
    z-index: 1;  
    background: #444; 
    background: linear-gradient(#444, #111); 
    box-shadow: 0 -1px 0 rgba(255,255,255,.3); 
    border-radius: 3px; 
    transition: all .2s ease-in-out; 
} 

#menu li:hover > ul { 
    opacity: 1; 
    visibility: visible; 
    margin: 0; 
} 

#menu ul ul { 
    top: 0; 
    left: 150px; 
    margin: 0 0 0 20px; 
    _margin: 0; /*IE6 only*/ 
    box-shadow: -1px 0 0 rgba(255,255,255,.3);  
} 

#menu ul li { 
    float: none; 
    display: block; 
    border: 0; 
    _line-height: 0; /*IE6 only*/ 
    box-shadow: 0 1px 0 #111, 0 2px 0 #666; 
} 

#menu ul li:last-child { 
    box-shadow: none;  
} 

#menu ul a {  
    padding: 10px; 
    width: 130px; 
    _height: 10px; /*IE6 only*/ 
    display: block; 
    white-space: nowrap; 
    float: none; 
    text-transform: none; 
} 

#menu ul a:hover { 
    background-color: #0186ba; 
    background-image: linear-gradient(#04acec, #0186ba); 
} 

#menu ul li:first-child > a { 
    border-radius: 3px 3px 0 0; 
} 

#menu ul li:first-child > a:after { 
    content: ''; 
    position: absolute; 
    left: 40px; 
    top: -6px; 
    border-left: 6px solid transparent; 
    border-right: 6px solid transparent; 
    border-bottom: 6px solid #444; 
} 

#menu ul ul li:first-child a:after { 
    left: -6px; 
    top: 50%; 
    margin-top: -6px; 
    border-left: 0; 
    border-bottom: 6px solid transparent; 
    border-top: 6px solid transparent; 
    border-right: 6px solid #3b3b3b; 
} 

#menu ul li:first-child a:hover:after { 
    border-bottom-color: #04acec; 
} 

#menu ul ul li:first-child a:hover:after { 
    border-right-color: #0299d3; 
    border-bottom-color: transparent; 
} 

#menu ul li:last-child > a { 
    border-radius: 0 0 3px 3px; 
} 
+0

提供可預期的結果 –

+0

的圖像您使用的菜單結構表?如果是這樣,請添加邊框=「0」cellpadding =「0」cellspacing =「0」 – Sakthivel

+0

線性漸變和純色背景色應該已經「拉伸」了整個元素的寬度。你可以給你一個atm的截圖嗎? – Simon

回答

0

這應該工作:

#menu { 
    background-size: 100%; 
} 
+0

只是試過了,它不工作,任何其他提示? – user2028829

+0

我已經用Guarav的代碼完成了,但是菜單現在並沒有居中:( – user2028829

+0

居中水平還是垂直?嘗試'margin:0 auto;' – Simone

0

你需要修復的圖像的寬度......如果你想伸展背景圖像...

**CSS** 
    background-image: url("menu.png"); 
    background-size: 875px 125px; 
    background-repeat: no-repeat; 

希望這會幫助你...

還是你可以試試...

/CSS

body{margin: 0 auto;} 
    .menu100percent { 
    background: #3584b4; /* Old browsers */ 
    background: -moz-linear-gradient(top, #3584b4 0%, #25567f 100%); /* FF3.6+ */ 
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#3584b4), color-stop(100%,#25567f)); /* Chrome,Safari4+ */ 
    background: -webkit-linear-gradient(top, #3584b4 0%,#25567f 100%); /* Chrome10+,Safari5.1+ */ 
    background: -o-linear-gradient(top, #3584b4 0%,#25567f 100%); /* Opera 11.10+ */ 
    background: -ms-linear-gradient(top, #3584b4 0%,#25567f 100%); /* IE10+ */ 
    background: linear-gradient(to bottom, #3584b4 0%,#25567f 100%); /* W3C */ 
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3584b4', endColorstr='#25567f',GradientType=0); /* IE6-9 */ 
    color: white; 
    font-size: 16px; 
    height: 37px; 
    width:100%; 
} 
    .menu{width:1000px; margin: 0 auto; } 
    .menu a{color:#fff; font-size:12px; line-height:37px; font-family:Arial; text-decoration:none;} 

/HTML

<div class="menu100percent"> 
    <div class="menu"> 
     <a href="/Purchase.aspx">Shop</a> 
    </div> 
</div> 

DEMO HERE

+0

不起作用....如果我改變寬度,它橫跨僅在右側.....任何其他的想法 'codewidth:1200像素; \t保證金:0px auto的; \t邊界:1px的固體#222; \t背景顏色:#3d56ac; \t背景-image:線性漸變(#444,#111); \t border-radius:6px; \t box-shadow:0 1px 1px#777;'code' – user2028829

+0

預期菜單[link] http://www.liquid -technolo gies.com/XML-Editor.aspx – user2028829

+0

謝謝高拉夫,它的工作....解決! – user2028829