如何居中并使一排div响应

时间:2014-10-18 23:23:24

标签: html css responsive-design

http://jsfiddle.net/raLmo8kd/

嗨我有一个页面,我想让正方形在垂直和水平方向显示在页面中间。我有一个容器,我希望大约80%的页面留下20%的空间。我想知道如何才能使所有浏览器和设备完全响应。

HTML

<div class="splashcontainer">
    <h1 class="splashheader">Title</h1>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

CSS

.splashcontainer{
margin: 0 auto;
width: 80%;
height: 100%;
min-height: 100%;
}

.splashheader{
text-align: center;
font-size: 62px;
font-family: font-family: 'Montserrat', sans-serif;
}

.splashcontainer div{
width: 20%;
margin: 0px 2% 0 2%;
padding-bottom: 20%;
background-color: deepskyblue;
display: inline-block;
}

谢谢,

2 个答案:

答案 0 :(得分:0)

您可以使用3行CSS vertical align框。

.splashcontainer {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

接下来确保<html><body>元素的百分比为100%。

最后,您需要使用<!-- -->来处理div之间的空格。

See the fiddle

HTML

<div class="splashcontainer">
    <h1 class="splashheader">Title</h1>
    <div></div><!--
 --><div></div><!--
 --><div></div><!--
--><div></div>
</div>

CSS

html {
    height: 100%;
}
body {
    min-height: 100%;
    height: 1px;
    position: relative;
    margin: 0;
}

.splashcontainer{
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    margin: 0 auto;
    width: 80%;
}

.splashheader{
    text-align: center;
    font-size: 62px;
    font-family: font-family: 'Montserrat', sans-serif;
    margin-top: 0;
}

.splashcontainer div{
    width: 20%;
    margin: 0px 2% 0 2%;
    padding-bottom: 20%;
    background-color: deepskyblue;
    display: inline-block;
}

答案 1 :(得分:0)

您还可以使用生成的元素vertical-aligndisplay:inline-block;

DEMO

body:before , html, body {
    height:100%;
    margin:0;
}
body {
    text-align:center;
}
body:before {
    content:'';
    display:inline-block;
    vertical-align:middle;
}
.splashcontainer{
    display:inline-block;
    vertical-align:middle;
    width: 80%;
    background:gray;
}

.splashheader{
    text-align: center;
    font-size: 62px;
    font-family: font-family: 'Montserrat', sans-serif;
}

.splashcontainer div{
    width: 20%;
    margin: 0px 2% 0 2%;
    padding-bottom: 20%;
    background-color: deepskyblue;
    display: inline-block;
}

display:flex;heightmargin:auto;

<强> DEMO 2

html, body {
    height:100%;
}
body {
    display:flex;
}

.splashcontainer{
    margin:auto;
    width: 80%;
    background:gray;
}

.splashheader{
    text-align: center;
    font-size: 62px;
    font-family: font-family: 'Montserrat', sans-serif;
}

.splashcontainer div{
    width: 20%;
    margin: 0px 2% 0 2%;
    padding-bottom: 20%;
    background-color: deepskyblue;

display:inline-block; }