Html 无论屏幕大小如何,将 DIV 居中到页面中心
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18510951/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Center a DIV to the center of page regardless of screen size
提问by dan4duk
I want to center the below div container to that the site appears in the center of the page, regardless of the screen size.
我想将下面的 div 容器居中,使站点显示在页面的中心,无论屏幕大小如何。
http://penarthpc.com/~droneboy/
http://penarthpc.com/~droneboy/
I've played around a little bit but appear to be missing something.
我玩了一点,但似乎缺少一些东西。
回答by a.ahmed
The solution to this problem is using auto
for margin
in the CSS AND providing some width to the DIV itself:
这个问题的解决方案是在 CSS 中使用auto
formargin
并为 DIV 本身提供一些宽度:
div.centered {
margin-left:auto;
margin-right:auto;
width:80%;
}
回答by Tricky12
Easiest way to center something regardless of page width is margin: auto;
in your CSS, with height and width defined.
无论页面宽度如何,将内容居中的最简单方法是margin: auto;
在 CSS 中定义高度和宽度。
.class {
height: 50px;
width: 50px;
margin: auto;
}
JSFiddle: http://jsfiddle.net/rVXBH/
JSFiddle:http: //jsfiddle.net/rVXBH/
回答by FastTrack
.center-div {
width: 600px;
height: 600px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -300px;
margin-top: -300px;
}
This will center your DIV with class center-div
horizontally AND vertically. The margin-left
must be negative half of what your width is. The margin-top
must be negative half the height.
这将使您的 DIV 与类center-div
水平和垂直居中。的margin-left
必须是你的宽度是什么样的负面一半。在margin-top
必须为负值高度的一半。
To just center horizontally:
水平居中:
.center-div {
width: 600px;
height: 600px;
position: relative;
margin-left: auto;
margin-right: auto;
}
回答by medBouzid
if you want to center the container (vertical) :
如果要使容器居中(垂直):
if (horizontal) look at this :
如果(水平)看这个:
回答by Atif
simple. Just give the container margin of "0 auto"
简单的。只需给出“0 auto”的容器边距
margin: 0 auto;
回答by Dharma Raju
Below code will work for any screen size.
下面的代码适用于任何屏幕尺寸。
div.centered {
background-color: rgb(18, 80, 144);
height: 100vh;
}
div.centered span {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
color: rgb(250, 255, 255);
}
<div class="centered">
<span>Center</span>
</div>
回答by Vishwanath
CSS below to center any element :
下面的 CSS 使任何元素居中:
div.className {
text-align: center;
}
回答by fditz
Here is a great method I use, it makes use of a beforeselector to create a invisible div that takes care of the vertical alignment:
这是我使用的一个很好的方法,它使用before选择器来创建一个不可见的 div 来处理垂直对齐:
HTML:
HTML:
<body>
<div id="outter-div">
<div id="aligned">
<h1>A Nice Title</h1>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam</p>
</div>
</div>
</body>
CSS:
CSS:
/* This parent can be any width and height */
#outter-div {
text-align: center;
}
/* The ghost, nudged to maintain perfect centering */
#outter-div:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
margin-right: -0.25em; /* Adjusts for spacing */
}
/* The element to be centered, can
also be of any width and height */
#aligned{
display: inline-block;
vertical-align: middle;
width: 300px;
}
This can be found on this postwhich also has a demo on jsbin!