我在 HTML(垂直和水平)中居中 div 时遇到问题。我的代码看起来像这样:
<div id="container">SOME HTML</div>
#container{
width: 366px;
height: 274px;
margin: 50%;
top: -137px;
left: -188px;
position:absolute;
}
只有 chrome 将这个 div 居中到屏幕的中间。
我在 HTML(垂直和水平)中居中 div 时遇到问题。我的代码看起来像这样:
<div id="container">SOME HTML</div>
#container{
width: 366px;
height: 274px;
margin: 50%;
top: -137px;
left: -188px;
position:absolute;
}
只有 chrome 将这个 div 居中到屏幕的中间。
这将<div>
水平居中:
#container{
width: 366px;
height: 274px;
margin: 0 auto;
}
垂直居中不是很简单,您可能必须为此使用 javascript,或者您尝试这个 css 解决方案。
#container{
width: 366px;
height: 274px;
top: 50%;
left: 50%;
margin: -137px 0 0 -188px;
position:absolute;
}
你可以使用:
#container {
// Your other values, but remove position: absolute;
margin: 0 auto;
}
或者,您可以执行以下操作:
#wrapper, #container {
border: 1px solid red;
height: 500px;
width: 600px;
}
#wrapper {
bottom: 50%;
right: 50%;
position: absolute;
}
#container {
background: yellow;
left: 50%;
padding: 10px;
position: relative;
top: 50%;
}
你是 HTML 代码:
<div id="wrapper">
<div id="container">
<h1>Centered Div</h1>
<p>
This div has been centered within your browser window.</p>
</div>
</div>
这将<div>
在浏览器窗口的中间居中。
这可以解决问题(垂直和水平):
#container{
position: absolute;
width: 366px;
height: 274px;
left: 50%;
top: 50%;
margin-left: -183px; /* half width */
margin-top: -137px; /* half height */
}
试试这个:
<div class="cont">
<div class="box"></div>
</div>
CSS:
.cont{
background-color: tomato;
width: 600px;
height: 400px;
position: relative;
}
.box {
width:100px;
height:100px;
background-color: teal;
color:#fff;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%)
}
只使用 CSS 应该没问题:
这是演示
#container{
width: 366px;
height: 274px;
margin: 50%;
top: 50%;
left: 50%;
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
}