页面div居中定位

覆雪蓝枫 2019-06-27

在编写很多时候页面的时候我们都需要布局居中对齐的,这里引用一个小案例讲解一下水平+垂直居中对齐

预期效果


页面div居中定位

实现过程


html代码:

<body>
<div class="main">
<div class="input-username div-input">
    <div class="icon icon-uname"></div>
    <input type="text" name="username" placeholder="USERNAME">
</div>
<div class="input-passowd div-input">
    <div class="icon icon-pwd"></div>
    <input type="password" name="password" placeholder="PASSWORD">
</div>
<div class="input-verfiy-code div-input">
    <div class="icon icon-vcode"></div>
    <input type="text" name="verify" placeholder="VERIFYCODE">
    <img src="index.php?&a=verifyCode" onclick="this.src='index.php?&a=verifyCode&rd='+Math.random();" class="verify-code">
</div>
<div class="input-submit">提交登录</div>
</div>
<script>
    window.onload = function(){
        // do some thing.....
    };
</script>
</body>

css样式

<style>
    body{
        background:#2d3238;
        margin:0;
        padding:0;
    }
    .main{
        position:absolute;
        left: 50%;
        top:50%;
        height:285px;
        width:283px;
        /*偏移距离为容器的一半*/
        margin-top:-142px;
        margin-left:-140px;
    }
    .div-input{
        height:42px;
        margin:10px 0;
        background:#3c4147;
    }
    .input-submit{
        height: 45px;
        line-height: 45px;
        margin-top: 18px;
        background: #ea4c89;
        text-align: center;
        font-weight: 700;
        color: #fff;
        font-size: 16px;
        cursor:pointer;
    }
    .icon{
        width:45px;
        display: inline-block;
        height: 100%;
        float:left;
    }
    .icon-uname{
        background: url(images/uname.svg) no-repeat center;
    }
    .icon-pwd{
        background: url(images/pwd.svg) no-repeat center;
    }
    .icon-vcode{
        background: url(images/vcode.svg) no-repeat center;
    }
    /*清理input浏览器默认样式*/
    input[type=text]{
        appearance: none;
        -moz-appearance: none;
        -webkit-appearance: none;
        border-radius: 0;
        -moz-border-radius: 0;
        -webkit-border-radius: 0;
    }
    /*重新设置元素样式*/
    input{
        outline: none;
        outline-color: transparent;
        outline-style: none;
        background: none;
        border: none;
        height: 100%;
        margin: 0px;
        padding: 0;
        display: inline-block;
        color: #fff;
        font-size: 14px;
    }
</style>

总结


在前台布局和使用javascript的时候我们要学会自己动手一步步的来,有不懂的地方第一时间是参考官方资料和手册(W3C,MDN),这样才能学到东西,也是最高效的学习方法,基础知识很重要,即使新技术再怎么变,只要理解了底层的原理就不用太担心,有时间多看别人的代码,学习和借鉴,把书本和别人的知识转变为自己的才是关键

相关推荐