2016-07-26 66 views
0

我嘗試使用flex切換一個夾層列和兩列。但是,我不能使用兩個div標籤並顯示:none; 你能給我任何建議嗎?在響應中切換一個夾層列和兩列

一列圖像

enter image description here

兩列圖像

enter image description here

HTML

<div class="container"> 
<div class="category1"> 
    <div class="timezone1">timezone1</div> 
    <div class="menu1">menu1</div> 
    <div class="timezone2">timezone2</div> 
    <div class="menu2">menu2</div> 
    <div class="timezone3">timezone3</div> 
    <div class="menu3">menu3</div> 
</div> 
</div> 

<div class="pc-container"> 
<div class="pc-category1"> 
    <div class="pc-timezone1">timezone1</div> 
    <div class="pc-timezone2">timezone2</div> 
    <div class="pc-timezone3">timezone3</div> 
</div> 
<div class="pc-category2"> 
    <div class="pc-menu1">menu1</div> 
    <div class="pc-menu2">menu2</div> 
    <div class="pc-menu3">menu3</div> 
</div> 
</div> 

CSS

.container { 
    display: flex; 
    flex-flow: column wrap; 
} 

.pc-container { 
    display: none; 
} 

@media screen and (min-width: 768px){ 

    .container { 
    display: none; 
    } 

    .pc-container { 
    display: flex; 
    flex-flow: row wrap; 
    } 
} 

這些圖像被添加7月28日

初始屏幕 enter image description here

精細顯示智能手機屏幕

enter image description here

重新大顯示PC畫面,但是每列是不是並排的。 enter image description here

回答

1

剛剛從列切換到包裝行....

.category1 { 
 
    display: inline-flex; 
 
    border: 1px solid grey; 
 
    padding: .5em; 
 
    flex-direction: column; 
 
} 
 
@media screen and (min-width: 500px) { 
 
    .category1 { 
 
    flex-direction: row; 
 
    flex-wrap: wrap; 
 
    } 
 
    .category1 > div { 
 
    white-space: nowrap; 
 
    flex: 0 1 50%; 
 
    } 
 
    .category1 > [class^="menu"] { 
 
    text-align: right; 
 
    } 
 
}
<div class="container"> 
 
    <div class="category1"> 
 
    <div class="timezone1">timezone1</div> 
 
    <div class="menu1">menu1</div> 
 
    <div class="timezone2">timezone2</div> 
 
    <div class="menu2">menu2</div> 
 
    <div class="timezone3">timezone3</div> 
 
    <div class="menu3">menu3</div> 
 
    </div> 
 
</div>

Codepen Demo

+0

感謝您發佈您的想法。然後,我檢查改變我設計的目標。非常感謝! – hikozuma

0

這裏的另一種選擇:http://codepen.io/panchroma/pen/LkALXG/

HTML

<div class="container"> 
    <div class="timezone">timezone1</div> 
    <div class="menu">menu1</div> 

    <div class="timezone">timezone2</div> 
    <div class="menu">menu2</div> 

    <div class="timezone">timezone3</div> 
    <div class="menu">menu3</div> 

</div> 

CSS

.timezone, 
.menu{ 
    width:50vw; 
    display:inline-block; 
} 

.menu{ 
    float:right; 
} 

@media screen and (max-width: 767px){ 
    .menu, 
    .timezone{ 
    float:none; 
    display:block; 
    width:auto; 
    } 
} 

祝你好運!

+0

謝謝你發佈你的兩個想法。但我恐怕我檢查這些沒有工作。例如,http://codepen.io/panchroma/pen/LkALXG/,我嘗試減小並擴大檢查智能手機和PC屏幕的窗口寬度。因此我檢查了每兩列不是水平放置的。 – hikozuma

+0

嗨@hikozuma,感謝您的反饋。如果您在更改窗口寬度時http://s.codepen.io/panchroma/debug/LkALXG不適用於您,請告訴我您正在使用哪種瀏覽器?或者,也許我誤解了你的問題。對於我在767px以上的視口,時區和菜單欄是並排的,而在較窄的屏幕上它會摺疊成一列,並且時區和菜單項交替出現。 –

+0

當然,@ david-taiaroa。我使用谷歌瀏覽器,它的版本是51.0.2704.103(64位)。那麼,你的思維方式是對的。很難表達這個問題,我會添加屏幕截圖。請稍後檢查。 – hikozuma