我有一个div
代码,width
设置为 800像素。当浏览器宽度大于 800像素时,它不应拉伸div
,但应将其带到页面中间。
答案 0 :(得分:1031)
<body>
<div style="width:800px; margin:0 auto;">
centered content
</div>
</body>
答案 1 :(得分:302)
position: absolute
然后top:50%
和left:50%
将上边缘放在屏幕的垂直中心,左边缘放在水平中心,然后添加margin-top
到div的高度的负数,即-100将其高于100并且类似于margin-left
。这会使div
完全位于页面的中心。
#outPopUp {
position: absolute;
width: 300px;
height: 200px;
z-index: 15;
top: 50%;
left: 50%;
margin: -100px 0 0 -150px;
background: red;
}
<div id="outPopUp"></div>
答案 2 :(得分:72)
现代Flexbox解决方案是进入/退出2015年的方式。justify-content: center
用于父元素将内容与其中心对齐。
<div class="container">
<div class="center">Center</div>
</div>
.container {
display: flex;
justify-content: center;
}
.center {
width: 800px;
}
.container {
display: flex;
justify-content: center;
}
.center {
width: 800px;
background: #5F85DB;
color: #fff;
font-weight: bold;
font-family: Tahoma;
}
&#13;
<div class="container">
<div class="center">Centered div with left aligned text.</div>
</div>
&#13;
答案 3 :(得分:57)
您的意思是想要垂直或水平居中吗?您说您已将height
指定为800像素,并希望当width
大于此值时,div不会延伸...
要水平居中,您可以使用CSS中的margin: auto;
属性。此外,您必须确保body
和html
元素没有任何边距或填充:
html, body { margin: 0; padding: 0; }
#centeredDiv { margin-right: auto; margin-left: auto; width: 800px; }
答案 4 :(得分:39)
要使它在Internet Explorer 6中也能正常工作,您必须按照以下步骤操作:
HTML
<body>
<div class="centered">
centered content
</div>
</body>
CSS
body {
margin: 0;
padding: 0;
text-align: center; /* !!! */
}
.centered {
margin: 0 auto;
text-align: left;
width: 800px;
}
答案 5 :(得分:36)
<div></div>
div {
display: table;
margin-right: auto;
margin-left: auto;
}
答案 6 :(得分:28)
你也可以这样使用它:
<div style="width: 60%; margin: 0px auto;">
Your contents here...
</div>
答案 7 :(得分:15)
这可以通过弹性容器轻松实现。
.container{
width: 100%;
display: flex;
height: 100vh;
justify-content: center;
}
.item{
align-self: center;
}
答案 8 :(得分:15)
只需使用center
代码后面的body
代码,然后在center
结束前结束body
代码:
<body>
<center>
... Your code here ...
</center>
</body>
这适用于我尝试过的所有浏览器。
答案 9 :(得分:13)
将此类添加到要居中的div(应具有设置的宽度):
.marginAutoLR
{
margin-right:auto;
margin-left:auto;
}
或者,将余量添加到div类中,如下所示:
.divClass
{
width:300px;
margin-right:auto;
margin-left:auto;
}
答案 10 :(得分:11)
使用CSS flex property:http://jsfiddle.net/cytr/j7SEa/6/show/
body { /* Centered */
display: box;
flex-align: center;
flex-pack: center;
}
答案 11 :(得分:10)
Div在父级内部垂直和水平居中而不修复内容大小
Here on this page 是一个很好的概述,包含多个解决方案,这里可以分享太多代码,但它显示了可能的内容......
我个人喜欢 this solution ,着名的转换翻译-50%最多。它适用于元素的固定(%或px)和未定义的高度和宽度 代码很简单:
HTML:
<div class="center"><div>
CSS:
.center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%); /* for IE 9 */
-webkit-transform: translate(-50%, -50%); /* for Safari */
/* optional size in px or %: */
width: 100px;
height: 100px;
}
Here a fiddle 表明它有效
答案 12 :(得分:7)
旧代码中的一些其他预先存在的设置会阻止以L&amp; R为中心的页面居中:
img
之类的其他类(与较旧的外部CSS打印格式控件一样)。div
类冲突。答案 13 :(得分:6)
不指定div宽度居中:
body {
text-align: center;
}
body * {
text-align: initial;
}
body div {
display: inline-block;
}
这类似于<center>
标记,但是:
<h1>
的所有直接内联子元素(例如<center>
)也将定位到中心display:block
设置)答案 14 :(得分:5)
body, html {
display: table;
height: 100%;
width: 100%;
}
.container {
display: table-cell;
vertical-align: middle;
}
.container .box {
width: 100px;
height: 100px;
background: red;
margin: 0 auto;
}
“body”标签的“width:100%”仅用于示例。在实际项目中,您可以删除此属性。
答案 15 :(得分:5)
使用justify-content
和align-items
水平和垂直对齐div
https://developer.mozilla.org/de/docs/Web/CSS/justify-content https://developer.mozilla.org/en/docs/Web/CSS/align-items
html,
body,
.container {
height: 100%;
width: 100%;
}
.container {
display: flex;
align-items: center;
justify-content: center;
}
.mydiv {
width: 80px;
}
<div class="container">
<div class="mydiv">h & v aligned</div>
</div>
答案 16 :(得分:5)
如果您有一些常规内容,而不仅仅是一行文字,我知道的唯一可能原因是计算保证金。
以下是一个例子:
<div id="supercontainer">
<div id="middlecontainer">
<div class="common" id="first">first</div>
<div id="container">
<div class="common" id="second">second</div>
<div class="common" id="third">third</div>
</div>
</div>
</div>
body {
margin: 0;
padding: 0;
}
.common {
border: 1px solid black;
}
#supercontainer {
width: 1200px;
background: aqua;
float: left;
}
#middlecontainer {
float: left;
width: 104px;
margin: 0 549px;
}
#container {
float: left;
}
#first {
background: red;
height: 102px;
width: 50px;
float: left;
}
#second {
background: green;
height: 50px;
width: 50px;
}
#third {
background: yellow;
height: 50px;
width: 50px;
}
因此,#supercontainer
是您的"whole page"
,其width
是1200px
。
#middlecontainer
div
包含您网站的内容;这是width
102px
。如果已知width
内容,则需要将页面大小除以2,并从结果中减去内容width
的一半:
1200/2 - (102/2)= 549;
是的,我也看到这是CSS的 der grosse 失败。
答案 17 :(得分:4)
简单http://jsfiddle.net/8pd4qx5r/
html {
display: table;
height: 100%;
width: 100%;
}
body {
display: table-cell;
vertical-align: middle;
}
.content {
margin: 0 auto;
width: 260px;
text-align: center;
background: pink;
}
答案 18 :(得分:4)
这也适用于Internet Explorer,但自动边距不适用。
.centered {
position: absolute;
display: inline-block;
left: -500px;
width: 1000px;
margin: 0 50%;
}
答案 19 :(得分:4)
使用以下代码将div框居中:
<div class="box-content">
</div>
&#13;
find
&#13;
答案 20 :(得分:3)
<parent>
<child>
</child>
</parent>
parent {
position: relative
}
child {
position: absolute,
left: 50%,
transform: translateX(-50%)
}
答案 21 :(得分:2)
<body>
<div style=" display: table; margin: 250 auto;">
In center
</div>
</body>
如果要更改垂直位置,请更改值250,您可以根据需要排列内容。没有必要给出宽度和其他参数。
答案 22 :(得分:2)
.middle {
margin: auto;
text-align: center;
}
答案 23 :(得分:2)
如果您的中心内容深入其他div,则只有保证金可以为您节省。没有其他的。我总是在不使用像Bootstrap这样的框架时面对它。
答案 24 :(得分:2)
在我的情况下,手机屏幕尺寸未知,这就是我所做的。
<强> HTML 强>
<div class="loadingImg"></div>
<强> CSS 强>
.loadingImg{
position: fixed;
top: 0px;
left: 0px;
z-index: 9999999;
border: 0;
background: url('../images/loading.gif') no-repeat center;
background-size: 50px 50px;
display: block;
margin: 0 auto;
-webkit-border-radius: 50px;
border-radius: 50px;
}
JavaScript (在您需要显示此DIV之前)
$(".loadingImg").css("height",$(document).height());
$(".loadingImg").css("width",$(document).width());
$(".loadingImg").show();
答案 25 :(得分:1)
出于某种原因,以前的答案都没有对我有用。这对我有用,它也适用于浏览器:
from table select * LIMIT 5
答案 26 :(得分:1)
通过这种方式,容器的内容将位于中间。
示例:假设容器宽度= 800px;
<div class='container' width='device-width' id='updatedContent'>
<p id='myContent'></p>
<contents></contents>
<contents></contents>
</div>
if ($("#myContent").parent === $("updatedContent"))
{
$("#myContent").css({
'left': '-(device-width/0.25)px';
'right': '-(device-width/0.225)px';
});
}