2013-10-17 40 views
0

這是一個真正的Bootstrap 3難題,我正在努力。看看這段代碼,看看你能解決這個難題。我試圖做的是使中心(黃色)部分兩倍高(200px)爲內容的目的,並保持廣場的其餘部分在相同的立場和現在相同的高度(100px)。它必須保持響應。Bootstrap 3 Puzzle Simplified

這裏是我一起工作的代碼 -

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Bootstrap core CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <style type="text/css"> 
    .blue { 
     height: 100px; 
     background-color: blue; 
     border: white solid 5px; 
     color: white; 
    } 
    .green { 
     height: 100px; 
     background-color: green; 
     border: white solid 5px; 
     color: white; 
    } 
    .yellow { 
     height: 100px; 
     background-color: yellow; 
     border: white solid 5px; 
     color: black; 
    } 
</style> 
</head> 
<body> 
    <div class="container"> 
    <div class="row"> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-2 green">green</div> 
     <div class="col-sm-8 yellow">yellow</div> 
     <div class="col-sm-2 green">green</div> 
     <div class="col-sm-2 green">green</div> 
     <div class="col-sm-2 col-sm-offset-8 green">green</div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
     <div class="col-sm-2 blue">blue</div> 
    </div> 
    </div> 

    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script src="js/jquery.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
</body> 
</html> 

回答

0
<style> 
    div{ 
     height:40px; 
     background-color: rgba(50,50,100,.2); 
     border: solid white 5px; 
    } 
    .white{ 
     background-color: white; 
    } 
    .tall{ 
     height: 80px; 
    } 
    .row{ 
     background-color: transparent; 
    } 
</style> 
<div class="container white"> 
    <div class="row"> 
     <div class="col-sm-3"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-3"></div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-3 tall"></div> 
     <div class="col-sm-6 tall white">BOO YA!</div> 
     <div class="col-sm-3 tall"></div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-3"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2 white"></div> 
     <div class="col-sm-3"></div> 
    </div> 
    <div class="row"> 
     <div class="col-sm-3"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-2"></div> 
     <div class="col-sm-3"></div> 
    </div> 
</div> 
+0

嗨瑞安,感謝,但不是我所遇到的麻煩。問題是,中心部分是(使用你的例子)160px高,每邊都是2個div,每個80px高。我無法讓它工作。我可以讓他們三個排隊,但總是不合適的。你所擁有的全部是80px高。那沒問題。再次感謝,但沒有雪茄:-) – user2560895

0

我能想出的唯一辦法是對平板電腦/臺式機(隱藏-XS),併爲您的代碼可見可見表手機(可見-X)。 即使世界複製內容的問題,但你可以搞定的東西,如knockout.js

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Bootstrap core CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <style type="text/css"> 
     .blue { 
      height: 100px; 
      background-color: blue; 
      border: white solid 5px; 
      color: white; 
     } 

     .green { 
      height: 100px; 
      background-color: green; 
      border: white solid 5px; 
      color: white; 
     } 

     .yellow { 
      height: 100px; 
      background-color: yellow; 
      border: white solid 5px; 
      color: black; 
     } 

     .tbl { 
      width: 100%; 
      border-collapse: separate; 
     } 
    </style> 
</head> 
<body> 
    <div class="container visible-xs"> 
     <div class="row"> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
     </div> 
     <div class="row"> 
      <div class="col-sm-2 green">green</div> 
      <div class="col-sm-8 yellow">yellow</div> 
      <div class="col-sm-2 green">green</div> 
     </div> 
     <div class="row"> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
      <div class="col-sm-2 blue">blue</div> 
     </div> 
    </div> 

    <div class="container hidden-xs"> 
     <div class="row"> 
      <table class="tbl"> 
       <tbody> 
        <tr class="tb-row"> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
        </tr> 
        <tr class="tb-row"> 
         <td class="col-sm-2 green">Green</td> 
         <td class="col-sm-8 yellow" colspan="4" rowspan="2">Yellow</td> 
         <td class="col-sm-2 green">Green</td> 
        </tr> 
        <tr class="tb-row"> 
         <td class="col-sm-2 green">Green</td> 
         <td class="col-sm-2 green">Green</td> 
        </tr> 
        <tr class="tb-row"> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
         <td class="col-sm-2 blue">Blue</td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 
    </div> 


    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script src="js/jquery-2.0.3.min.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
</body> 
</html> 
0

如何包裝你的左邊和右邊的div對一列(帶邊框和填充)內,使他們全寬.. 。

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Bootstrap core CSS --> 
    <link href="css/bootstrap.css" rel="stylesheet"> 
    <style type="text/css"> 
    .blue { 
    height: 100px; 
    background-color: blue; 
    border: white solid 5px; 
    color: white; 
    } 
    .green { 
    height: 100px; 
    background-color: green; 
    border: white solid 5px; 
    color: white; 
    } 
    .yellow { 
    height: 200px; 
    background-color: yellow; 
    border: white solid 5px; 
    color: black; 
    } 
    .noborder { border: 0; } 
    .nopadding { padding: 0; } 
    </style> 
</head> 
<body> 
    <div class="container"> 
    <div class="row"> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    </div> 
    <div class="row"> 
    <div class="col-sm-2 green noborder nopadding"> 
    <div class="col-sm-12 green">green L1</div> 
    <div class="col-sm-12 green">green L2</div> 
    </div> 
    <div class="col-sm-8 yellow">yellow</div> 
    <div class="col-sm-2 green noborder nopadding"> 
    <div class="col-sm-12 green">green R1</div> 
    <div class="col-sm-12 green">green R2</div> 
    </div> 
    </div> 
    <div class="row"> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    <div class="col-sm-2 blue">blue</div> 
    </div> 
    </div> 

    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script src="js/jquery.js"></script> 
    <script src="js/bootstrap.js"></script> 
</body> 
</html> 
+0

好吧,這工作得很好!我不確定它究竟如何,但它確實有效。有一點關注開放的div,但除此之外,還不錯!公元前 – user2560895

0

如何在「COL-SM-12黃」類包裝中的所有行...

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
<meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <!-- Bootstrap core CSS --> 
    <link href="css/bootstrap.min.css" rel="stylesheet"> 
    <style type="text/css"> 
    .blue { 
     height: 100px; 
     background-color: blue; 
     border: white solid 5px; 
     color: white; 
    } 
    .green { 
     height: 100px; 
     background-color: green; 
     border: white solid 5px; 
     color: white; 
    } 
    .yellow { 
     background-color: yellow; 
     border: white solid 5px; 
     color: black; 
    } 
</style> 
</head> 
<body> 
    <div class="container"> 
     <div class="col-sm-12 yellow"> 
      <div class="row"> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
      </div> 
      <div class="row"> 
       <div class="col-sm-2 green">green</div> 
       <div class="col-sm-2 col-sm-offset-8 green">green</div> 
      </div> 
      <div class="row"> 
       <div class="col-sm-2 green">green</div> 
       <div class="col-sm-2 col-sm-offset-8 green">green</div> 
      </div> 
     <div class="row"> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
       <div class="col-sm-2 blue">blue</div> 
      </div> 
     </div> 
    </div> 

    <!-- Bootstrap core JavaScript 
    ================================================== --> 
    <!-- Placed at the end of the document so the pages load faster --> 
    <script src="js/jquery.js"></script> 
    <script src="js/bootstrap.min.js"></script> 
</body> 
</html>