2013-12-13 38 views
3

我一直在想這個,但我無法。我正在尋找一種方法(通過編碼html/css)來隨着瀏覽器窗口寬度的減小而「浮動」div元素。如何在使用css和html調整瀏覽器窗口大小時使div元素「浮動」?

下面是在具有由側的div元素側全寬度的瀏覽器窗口。

Wide layout

調整大小(減小的瀏覽器窗口的寬度)後,我想在第二div元素到第一div元素上方「浮動」。

Narrow layout

我希望得到任何幫助。謝謝。

UPDATE:首先,感謝大家的幫助。在閱讀/嘗試推薦之後,我正在尋找一種適用於所有瀏覽器的解決方案。此外,這些元素將是動態圖像。並且,它不必嚴格限制爲html/css,但最簡單的實現總是值得讚賞! :)再次感謝您的意見和幫助。

+0

難道這些元素有一個動態的大小? –

+0

您是否希望div在全屏時處於1 2的順序,或者它與順序無關。例如; 2 1 – andre3wap

+0

Mihey,我已在原帖中添加了評論。 – Aaron

回答

0

如果你想只CSS的答案,那麼你將需要使用CSS3媒體查詢哪個詞取決於屏幕類型和大小!

使用此:

@media only screen and (max-width: 900px;) { // screen size 900px 
    // if screen size 900px then position them here as 
    .div1 { // first div 
    margin: 10%; // margin 
    } 

    .div2 { // second div 
    // whatever property 
    } 
} 

而當尺寸減小到可以說500像素寬度,則

@media only screen and (max-width: 500px) { // if screen size is 500px 
    .div1 { // first div 
    // position it above, 
    } 

    .div2 { // second div! 
    // position it below by using min-width attr, and by adding paddings.. 
    } 
} 

祝你好運!

更多:https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Media_queries(Mozilla的開發者網絡)

+0

-1:解決方案比必要的複雜得多,這不是真的:'如果你只需要CSS答案,那麼你將需要使用CSS3的媒體查詢' – ANeves

+0

他要求CSS,所以他會使用這個,但作爲我的答案顯示,當屏幕尺寸太小時,複雜度就是這樣! –

+0

但是,該行要告訴OP,如果您希望** ** only **答案比** Media Query **更好! –

3

只是第一放置第二個div在你的代碼是這樣的:

<div id="second"></div> 
<div id="first"></div> 

並添加float: left;屬性與CSS第一個div。你不會需要jQuery: http://jsbin.com/ERutocO/1/

+0

這不適用於鉻和歌劇,只在FF(由於不同的浮動行爲)。在兩個元素上使用'float:right'更安全。如果他需要他們在窗戶的左側,他可以把它們放入一個包裝。 –

+0

謝謝塞德里克指出這一點。並感謝您的回覆p2kmgcl。我試過這樣做是IE和功能不起作用。無論窗口寬度如何,兩個div都堆疊在一起。 – Aaron

+0

並用'float:right'? –

0

浮動藍色div左邊,黃色div右邊。 Demo

#yellow { 
    float: right; 
    height: 30px; 
    width: 200px; 
    background: yellow; 
} 
#blue { 
    float: left; 
    height: 30px; 
    width: 200px; 
    background: blue; 
} 
2

你需要把2號在1號前在你的HTML代碼,然後他們兩個使用float: right

http://jsfiddle.net/4sCrQ/

+1

投票贊成合適的溶劑。我仍然沒有得到它,爲什麼以前的消化有2票,當它不是@Aaron要求! – n1kkou

0

這裏是一個demo

同時使這個例子有些地方的答案貼在這裏,和他們幾乎simular我,所以請原諒我重複,但這裏是另一種可能的解決方案。 我已經重新訂購了div,並添加了float: right;而不是左側。

相關問題