2012-07-05 26 views
0

請幫忙!!!如何製作以中間爲中心的可調整大小的菜單?

CSS:

body 
{ 
margin: 0px; 
padding: 0px; 
} 

body #header { 

    width:100%; 
    clear:both; 
    height:90px; 
    /*overflow:hidden*/; 
    box-shadow: 1px 0px 10px 2px #000; 
    } 

body #header #h_l { 
    width: 30%; 
    height: 90px; 
background-image: linear-gradient(top, #e1e1e1 40%, #9d9d9d 99%); 
background-image: -o-linear-gradient(top, #e1e1e1 40%, #9d9d9d 99%); 
background-image: -moz-linear-gradient(top, #e1e1e1 40%, #9d9d9d 99%); 
background-image: -webkit-linear-gradient(top, #e1e1e1 40%, #9d9d9d 99%); 
background-image: -ms-linear-gradient(top, #e1e1e1 40%, #9d9d9d 99%); 

background-image: -webkit-gradient(linear, left top, left bottom, color-stop(40%, #e1e1e1), color-stop(99%, #9d9d9d)); /* Safari 4+, Chrome 2+ */ 


filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e1e1e1', endColorstr='#9d9d9d'); /* IE6 & IE7 */ 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#e1e1e1', endColorstr='#9d9d9d')"; /* IE8+ */ 


background-image: -webkit-gradient(
    linear, 
    left top, 
    left bottom, 
    color-stop(0.40, #e1e1e1), 
    color-stop(0.99, #9d9d9d) 
); 
float:left; 
} 

body #header #h_l #logo { 

    float: right; 
    /*-ms-interpolation-mode:bicubic; */ 
    max-width: 100%; 
    width: auto\9; /* ie8 */ 
} 

body #header #h_r { 
    width: 70%; 
    height: 90px; 
background: #747474; 

    float: right; 
} 

body #header #h_r #menu { 

    position: relative; 
    left: -50px; 
    float:left; 
    /*-ms-interpolation-mode:bicubic; */ 
    max-width: 100%; 
    width: auto\9; /* ie8 */ 
    } 

HTML:

<body > 

    <div id="header"> 

    <div id="h_l"> 

     <img id="logo" title="logo" alt="logo" src="{HTTP}{WEBSITE}/images/newlook/MM/logo_plus100px_right.png" > 
    </div> 
    <div id="h_r"> 
     <span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Home_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Solutions_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Support_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Company_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Contact_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Blog_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Reseller_but.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Divider_1.png" ></span><span ><img id="menu" title="" alt="" src="{HTTP}{WEBSITE}/images/newlook/MM/Apps_but.png" ></span> 
    </div> 

    </div> 
</body> 

爲什麼從菜單右側的元素不斷在新行逐一瀏覽器窗口大小調整去?我怎樣才能讓它停止這樣做,並使其在瀏覽器窗口調整大小(就好像整個菜單將是一個完整的塊)左側的圖像調整大小?它可以在CSS中完成,或者我需要做一個JavaScript?感謝任何回答的人!

回答

0

要理解你在這裏實現的目標並不容易,而沒有實際的圖像。我在這裏轉載您的情況:

http://jsfiddle.net/gVQ8x/1/

我剛剛設置百分比寬度在這裏(什麼是對-ms-interpolation-mode部分):

body #header #h_r #menu { 
    position: relative; 
    left: -50px; 
    float:left; 
    /*-ms-interpolation-mode:bicubic; */ 
    max-width: 100%; 
    width: 6%; /* was auto\9 */ 
} 

我強烈建議你不要使用IE瀏覽器的黑客。嘗試有條件類來代替:http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/

可能在將來導致問題的另一個重要問題是,你有你的文檔中的多個元素共享相同的ID,即上述body #header #h_r #menu。如果您希望javascript DOM操作正常且可預測地正常工作,則此ID必須是唯一的。

+0

感謝您的回覆!我會盡力做出你所建議的調整,我會在成功或失敗時回覆。 – 2012-07-06 11:00:39

相關問題