如何组合垂直和并排<div>布局</div>

时间:2015-01-16 21:11:28

标签: html css button layout

我正在尝试构建按钮布局。我已经工作了一段时间,但我怀疑我的代码会有助于理解我的问题。我在下面的图片中包含了按钮的规格。如果你们能告诉我如何制作这个版面,我们将不胜感激。

enter image description here

3 个答案:

答案 0 :(得分:5)

首先在里面创建容器和适当的div。

<div class="container">
    <div class="blue"></div>
    <div class="center">
        <div class="red"></div>
        <div class="yellow"></div>
    </div>
    <div class="green"></div>
</div>

然后你必须定位它们并设置特定的宽度。

body, html { height: 100%;  }
.container { height: 100%; }
.container > div { float: left; }
.center { height: 100%; width: 33%; }
.blue { background: blue; width: 33%; min-height: 100%; }
.red { background: red; height: 50% }
.yellow { background: yellow; height: 50% } 
.green { background: green; width: 33%; height: 100% }

您可以选择使用弹性框来摆脱float: left

.container { height: 100%; display: flex; }

演示:http://jsfiddle.net/eLq0770h/

答案 1 :(得分:0)

我接近这个的方法是将三个DIV并排制作你设计的三列。 (蓝色柱子,红色和黄色柱子和绿色柱子)

然后,您可以使用另外两个DIV将中间列拆分为两行。

您的代码的结构如下

<div id="site">
    <div id="leftcolumn">
        CONTENT
    </div>
    <div id="middlecolumn">
        <div id="middletop">
            CONTENT
        </div>
        <div id="middlebottom">
            CONTENT
        </div>
    </div>
    <div id="rightcolumn">
        CONTENT
    </div>
</div>

然后,您可以使用CSS来设置这些DIV的宽度和高度。 我不知道这是否是正确的方法,但我就是这样做的。

答案 2 :(得分:0)

您的代码看起来很棒。以下是我如何处理项目http://codepen.io/dfrierson2/pen/RNoWZe

首先我将包装器设置为100%宽度然后我将容器置于边距:0 auto;我向600px的容器添加一个宽度,并将高度设置为auto并给它一个overflow:hidden的css选择器类,以便容器将使用div的内容进行扩展。我会使用Bootstrap作为框架工作,因为它是一个响应框架工作与伟大的入门代码。

http://getbootstrap.com/getting-started/#template 它还有很棒的预制导航和按钮http://getbootstrap.com/components/#btn-groups

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Bootstrap 101 Template</title>

    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
      <style>
      .wrapper {
        width: 100%;
        height: auto;
      }

      .container {
        margin: 0 auto;
        border: 1px solid red;
        overflow: hidden;
        width: 600px;
        height: auto;
        background: yellow;
      }
      .col-md-4 {
        border: 1px solid green;
        float: left;
        width: 198px;
        height: 700px;
      }

      .blue {
        background: blue;
      }

      .red {
        background: red;
        height: 350px;
      }

      .green {
        background: green;

      }

      .one {
         border: 1px solid black;
         height: 350px;
      }

      .two {
         border: 1px solid black;
         height: 350px;
      }

      </style>
  </head>
  <body>
    <div class="wrapper">
    <div class="container">
        <div class="row">
              <div class="col-md-4 blue">33%</div>
              <div class="col-md-4 red">33%</div>
              <div class="col-md-4 green">
                <div class="col-md-6 one">50%</div>
                <div class="col-md-6 two">50%</div>
              </div>

        </div>
    </div>
  </div>
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <!-- Include all compiled plugins (below), or include individual files as needed -->
    <script src="js/bootstrap.min.js"></script>
  </body>
</html>