2016-03-22 20 views
0

ウィンドウが小さすぎるとdiv divを変更すると、ウィンドウが小さくなりすぎて3つのdivが互いに隣接して格納されません。基本的には、コンテナdiv内に3つのdivがあります。ウィンドウサイズに応じてHTML divを動的に移動する

今のところ、ウィンドウのサイズが十分に小さくなると、右のdivはその上の中央のdivで下に移動します。私が望むのは、ウィンドウが十分に小さい場合、中央のdivは左のdivの下に移動する必要があるということです。

スケルトンHTML:

<div class="level1"> 
    <div class="level2 clearfix" ng-if="stuff" ng-repeat="stuff"> 
     <div class="level3-1"> 
      Stuff with dynamic length depending on ng-repeat 
     </div> 
     <div class="level3-2"> 
      Stuff with dynamic length depending on ng-repeat 
     </div> 
     <div class="level3-3"> 
      Stuff with dynamic length depending on ng-repeat 
     </div> 
    </div> 
</div> 

スケルトンLESS CSS:どちらか

.level1 { 
    .level2 { 
     .level3-1 { 
      float: left; 
     } 

     .level3-2 { 
      float: left; 
     } 
    } 

    .level3-3 { 
     float: right; 
    } 
} 

は、これまでのところ、私はdivの内側にlevel3-1level3-2を入れてみましたtestdivと呼ばれるが、それは動作しませんでした:

スケルトンHTML:

<div class="level1"> 
    <div class="level2 clearfix" ng-if="stuff" ng-repeat="stuff"> 
     <div class="testdiv clearfix"> 
      <div class="level3-1"> 
       Stuff with dynamic length depending on ng-repeat 
      </div> 
      <div class="level3-2"> 
       Stuff with dynamic length depending on ng-repeat 
      </div> 
     </div> 
     <div class="level3-3"> 
      Stuff with dynamic length depending on ng-repeat 
     </div> 
    </div> 
</div> 

スケルトンLESS CSS:下の画像に

.level1 { 
    .level2 { 
     .testdiv { 
      display: inline-block; 
      word-wrap: break-all; 
      /* also tested break-word */ 
     } 

     .level3-1 { 
      float: left; 
     } 

     .level3-2 { 
      float: left; 
     } 
    } 

    .level3-3 { 
     display: inline-block; 
     float: right; 
    } 
} 

、私は問題を示さない試みました。

enter image description here

誰でも提案がありますか?ブートストラップなしでもやり遂げることは可能ですか?

答えて

0

.level1 { 
 
    display:flex; 
 
    flex-direction: row; 
 

 
    justify-content: space-between; 
 
    max-width: 900px; 
 
    background-color: blue; 
 
    } 
 
.level2 { 
 
    display:flex; 
 
    flex-direction: row; 
 
    flex-wrap: wrap; 
 

 
    background-color: red; 
 
} 
 
.level3-1, .level3-2, .level3-3 { 
 
    width: 150px; 
 
    height: 150px; 
 
    background-color: pink; 
 
    border: 2px black solid; 
 
}
<div class="level1"> 
 
     <div class="level2 clearfix" ng-if="stuff" ng-repeat="stuff"> 
 
      <div class="level3-1"> 
 
       Stuff with dynamic length depending on ng-repeat 
 
      </div> 
 
      <div class="level3-2"> 
 
       Stuff with dynamic length depending on ng-repeat 
 
      </div> 
 
     </div> 
 
     <div class="level3-3"> 
 
     Stuff with dynamic length depending on ng-repeat 
 
     </div> 
 
    </div> 
 

+0

希望は、あなたが – DanyCode

+0

探しているものを私は明日それを試してみましょう、それが動作するかどうかを確認している:) – BluePrint

+0

申し訳ありませんが、それはまったく動作しませんでした。まず、level3-1とlevel3-2の幅や高さを固定することはできません。コンテンツはAngular-Controllerからのもので、可能な限り1行に収まる必要があります。第2に、 'level3-3'は' ng-repeat'に含まれる 'level2'の内部にある必要があります。 また、リピートの1つでは、別の「ng-if」に応じて、その行の下に完全にあるべき4番目のdivがあることに気付きました。そして、あなたのソリューションでは、divは 'level3-3'の右側に置かれます。 – BluePrint

関連する問題