2016-04-07 13 views
0

私はこのレスポンスのレイアウトケースを解決するにはどうすればいいですか: 私は3つのボックスを持っています。 ワイド画面では、左側に2つ、右側にもう一方の固定幅が必要です。 小さな画面では、すべてのボックスが100%になり、右側のボックスが他の2つの間になるようにします。レスポンシブなレイアウト:スマートフォンレイアウトの位置を切り替える方法

私はほとんどうまくいけば、私はワイドモードでそのギャップを取り除く必要があります。

https://jsfiddle.net/ypmgo7no/3/

.leftfixed { 
    float:left; 
    width:200px; 
    background:purple; 
    height:50px; 
} 

.right { 
    margin-left:220px; 
    background:yellow; 
    height:100px; 
} 

@media (max-width:500px) { 
    .leftfixed { 
    float:none; 
     width:100%; 
     background:blue; 
    } 

    .right { 
    margin-left:0; 
    } 
} 

問題を参照してください。(申し訳ありませんが、単に「ワイドモード」と画像で「小モード」が入れ替わっていることに気づい) Image

+0

メディアクエリは問題ではありません。質問をお読みください。ありがとう –

+0

私はフィドルのそれらの間のギャップを見ることができませんか? –

+0

@SatejS:申し訳ありませんが、フィドルを更新しました。ボックスには高さが必要です:https://jsfiddle.net/ypmgo7no/3/ –

答えて

0

あなたはこのようにしたいですか?

.leftfixed { 
 
    float:none; 
 
    width:200px; 
 
    background:purple; 
 
    height:100px; 
 
} 
 

 
.right { 
 
    left: 220px; 
 
    background: yellow; 
 
    height: 200px; 
 
    position: absolute; 
 
    width: 100%; 
 
    top: 7px; 
 
    } 
 

 
@media (max-width:500px) { 
 
    .leftfixed { 
 
    float:none; 
 
     width:100%; 
 
     background:blue; 
 
    } 
 
    
 
    .right { 
 
    margin-left:0; 
 
    position:inherit; 
 
     
 
    } 
 
}
<div class="leftfixed"> 
 
box left fixed width 1 
 
</div> 
 

 
<div class="right"> 
 
box right 
 
</div> 
 

 
<div class="leftfixed"> 
 
box left fixed width 2 
 
</div>

+0

うまくいきますが、ポジションのないソリューションがあると思いました。絶対: -/ –

+0

大丈夫です。問題ない。私はポジションを取らずに試してみる:絶対。分を待つ。 –

+0

あなたはどこにでも位置プロパティを使用したくありませんか? –

0

これは私が最後のdivに下のクラスを追加し、位置を追加する別の方法である:あなたの元のコードで100pxに:相対と底。

.leftfixed { 
 
    float:left; 
 
    width:200px; 
 
    background:purple; 
 
    height:100px; 
 
} 
 

 
.right { 
 
    margin-left: 220px; 
 
    background: yellow; 
 
    height: 200px; 
 
    /*position: absolute;*/ 
 
    width: 100%; 
 
    top: 7px; 
 
    } 
 
    .bottom{ 
 
    \t  position: relative; 
 
    \t bottom: 100px; 
 
    } 
 

 
@media (max-width:500px) { 
 
    .leftfixed { 
 
    float:none; 
 
     width:100%; 
 
     background:blue; 
 
    } 
 
    
 
    .right { 
 
    margin-left:0; 
 
    
 
     
 
    } 
 
}
<div class="leftfixed"> 
 
box left fixed width 1 
 
</div> 
 

 
<div class="right"> 
 
box right 
 
</div> 
 

 
<div class="leftfixed bottom"> 
 
box left fixed width 2 
 
</div>

+0

2つの答えを掲示するのではなく、あなたの最後の1つを更新するか、最後の答えでこれを追加する必要があります.. –

+0

屋。実際には、@ flasherが理解するので、2番目の答えを別に追加しました。 –

+0

教えてください。私の答えは適切かどうか? –