开发者社区> 问答> 正文

【css】让div居中的方法失效了,我该如何改?(在不用css3和表格的情况下)。谢谢。

尝试这个方法

    position:absolute;
    top:50%;
    left:50%;
    margin-top:-260px;
    margin-left:-375px;

让div居中时,最外层的div(login-main)实现了居中,但是当我让里层的div(login-input)也相对于其父元素居中时这个方法却不行了,直接对着最外层div居中了。请问为什么?是不是因为他的父元素浮动了?可是加了clearfix也没用啊?我该如何改?谢谢。

这是html

  <div class='login-main'>
    <div class='login-left clearfix'>
        <div class='login-form'>
            <div class='login-input'></div>
            <div class='login-input'></div>
            <div class='login-input'></div>
            <div class='login-input'></div>
            <div class='login-input'></div>
            <div class='login-input'></div>
        </div>
    </div>
</div>

这是css

body{background:grey;}
/*主体div居中*/
.login-main
    {
        position:absolute;
        top:50%;
        left:50%;
        margin-top:-260px;
        margin-left:-375px;
        width:750px;
        height:520px;
        background:white;
    }

/*注册功能区*/
.login-left
    {
        float:left;
        width:500px;
        height:480px;
        background:red;
    }

/*注册form*/
.login-form
    {
        position:absolute;
        top:50%;
        left:50%;
        margin-top:-180px;
        margin-left:-230px;
        width:460px;
        height:360px;
        clear:both;
    }

/*登录等按钮区*/
.login-input
    {
        width:460px;
        height:60px;
        background:blue;
    }

/*-----clearfix已经省略----*/

展开
收起
杨冬芳 2016-06-21 14:15:14 2337 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    定位是相对于距离自己最近的非static定位的祖先元素,楼上说的方法就可以

    2019-07-17 19:44:52
    赞同 展开评论 打赏
  • IT从业

    应该是position的问题吧,子元素还是相对于body就行了绝对定位,你把父元素的absolute换成relative,子元素的left和top的偏移就会根据有relative的父元素决定。

    2019-07-17 19:44:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
零基础CSS入门教程 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载