2012-04-21 88 views
0

我會是一個簡單的CSS效果或JS,但我還沒有找到解決方案呢。垂直水平菜單上父div調整

我的目標是在div中創建一個菜單,當我調整瀏覽器窗口或父div的大小時,該設置本身隱藏,我需要設置另一個可見的div,以水平方向包含相同的菜單。

<div id="when_size_if_of_100px_visible_if_not_hidden">[menu item1 item2 item 3 item4]</div> 

<div id="when_size_sup_of_100px_visible_if_not_hidden"> 
menu 
item1 
item2 
item3 
</div> 

我希望能夠清楚。感謝您的回覆。

回答

1

正如newtron公司爲說,你應該使用媒體查詢來做到這一點。您只有一個內容,但會根據窗口大小以不同的方式顯示。這是一個工作示例http://jsfiddle.net/pomeh/Gdve3/

使用的HTML代碼

<ul> 
    <li>menu A</li> 
    <li>menu B</li> 
    <li>menu C</li> 
    <li>menu D</li> 
</ul> 

<div> 
    Window width is lower than 500px ! 
</div> 

和CSS代碼

li { 
    border: solid black 1px; 
    width: 100px; 
    display: inline-block; 
} 

div { 
    display: none; 
} 


@media (max-width:500px) { 
    li { 
     display: block; 
    } 
    div { 
     display: block; 
    } 
}​ 

還要注意,媒體查詢不支持IE瀏覽器。爲此,您可以使用Respond.js Javascript庫https://github.com/scottjehl/Respond

+1

好:)所以你可以標記問題解決? – pomeh 2012-04-22 22:19:02

+0

@GianlucaLodigiani我已經更新了關於IE支持的答案 – pomeh 2012-04-23 21:21:31

0

你可以使用resize

$(window).resize(function(){ 
    if (window.innerWidth < 100){ 
    $("#when_size_if_of_100px_visible_if_not_hidden").hide(); 
    $("#when_size_sup_of_100px_visible_if_not_hidden").show(); 
    } else { 
    $("#when_size_if_of_100px_visible_if_not_hidden").show(); 
    $("#when_size_sup_of_100px_visible_if_not_hidden").hide(); 
    } 
});