嗨我有一个页面,我想让正方形在垂直和水平方向显示在页面中间。我有一个容器,我希望大约80%的页面留下20%的空间。我想知道如何才能使所有浏览器和设备完全响应。
<div class="splashcontainer">
<h1 class="splashheader">Title</h1>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
.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;
}
谢谢,
答案 0 :(得分:0)
您可以使用3行CSS vertical align框。
.splashcontainer {
position: relative;
top: 50%;
transform: translateY(-50%);
}
接下来确保<html>
和<body>
元素的百分比为100%。
最后,您需要使用<!-- -->
来处理div之间的空格。
<div class="splashcontainer">
<h1 class="splashheader">Title</h1>
<div></div><!--
--><div></div><!--
--><div></div><!--
--><div></div>
</div>
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-align
和display:inline-block;
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;
,height
和margin: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; }