我正在尝试构建按钮布局。我已经研究了一段时间了,但我怀疑我的代码是否有助于理解我的问题。我已在下图中包含了按钮的规格。如果你们能告诉我如何制作这个布局,我将不胜感激。
从创建容器和内部适当的 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://codepen.io/dfrierson2/pen/RNoWZe。
首先,我将包装器设置为 100% 宽度,然后将容器居中,边距:0 auto;我为容器添加了 600px 的宽度,并将高度设置为 auto,并为其指定了一个 CSS 选择器类:overflow:hidden,以便容器将随着 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>
我的方法是并排制作三个 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 的宽度和高度。
我不知道这是否是正确的方法,但这就是我的做法。