为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我设置定高,然后之间margin: auto; 不能使它上下左右都居中呢?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>定宽块状元素水平居中</title>

<style>

div{

    border:1px solid red;

    width:200px;

    height:200px;

margin:auto;

}


</style>

</head>


<body>

<div>我是定宽块状元素,我要水平居中显示。</div>

</body>

</html>


正在回答

3 回答

margin-top: -200px;这个-200px是什么意思?

1 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定宽块状元素水平居中</title>
<style>
div {
    width: 400px;
    height: 400px;
    line-height: 400px;
    border: 1px solid #006699;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -200px;
    margin-left: -200px;
    text-align: center;
}
</style>
</head>
 
<body>

<div>我是定宽块状元素,我要水平居中显示。</div>
 
</body>
</html>

不知道你还在不在,我做出来了

0 回复 有任何疑惑可以回复我~
#1

慕粉4253983 提问者

非常感谢!!
2016-10-28 回复 有任何疑惑可以回复我~
#2

Robert_Langdon

lz,这段代码width,height设置成400px看上去是居中的,但你把它们设置成200px,你会发现垂直位置上它并不是居中的。
2016-12-11 回复 有任何疑惑可以回复我~
#3

慕粉4282285 回复 Robert_Langdon

总宽高设置成200之后,对应的margin-top和margin-left的值是-100px,永远是宽高一半的负数
2016-12-12 回复 有任何疑惑可以回复我~
#4

Robert_Langdon 回复 慕粉4282285

嗯 这样就对了 只不过不太智能
2016-12-13 回复 有任何疑惑可以回复我~
#5

慕粉4282285 回复 Robert_Langdon

如果要自动化,只有通过js运算了,已经超出课程范围了
2016-12-14 回复 有任何疑惑可以回复我~
查看2条回复

给div加table/tr/td,别忘了把选择器也改成table,其它什么也不用改

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定宽块状元素水平居中</title>
<style>
table{
    border:1px solid red;
    width:200px;
    height:200px;
    margin:auto;
}
</style>
</head>

<body>
<table><th><td>
<div>我是定宽块状元素,我要水平居中显示。</div>
</td></th></table>

</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

慕粉4253983 提问者

为啥呀
2016-10-27 回复 有任何疑惑可以回复我~
#2

慕粉4253983 提问者

而且你这样只是让文本居中了呀,那个盒子还没有居中
2016-10-27 回复 有任何疑惑可以回复我~
#3

慕粉4282285 回复 慕粉4253983 提问者

你盒子要相对于什么居中?页面可以无限下拉,你到哪儿才算居中?没有意义的这个问题
2016-10-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我设置定高,然后之间margin: auto; 不能使它上下左右都居中呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信