原生 js 让div上下左右居中

html 里写出一个div, css给div 定宽高和背景色:

<div class="boxes">

</div>

<style type="text/css">

.boxes{
  width: 200px;
  height: 200px;
  background: #CCCCCC;
}

</style>

上面绘出的是一个宽高给为200的背景色为浅灰色的框框。

现在要让这个div 相对于浏览器居中,通过一段javascript代码实现:

var w = document.body.clientWidth;//浏览器的宽
                var h = window.innerHeight;//浏览器的高
                console.log(w+" "+h);
                var boxes = document.getElementsByClassName("boxes")[0];
                var boxWid = boxes.scrollWidth;//获取div的宽
                var boxHgt = boxes.scrollHeight;//获取div的高
                console.log(boxWid+" " +boxHgt);
                boxes.style.marginLeft = w/2-(boxWid/2)+"px";
                boxes.style.marginTop = h/2 -(boxHgt/2)+"px";

这样灰色矩形框div就可以相对于浏览器绝对居中了。

 当然,也可以用简单的css方法控制

<div class="warp">
      <div class="content"></div>
</div>

css方法控制就是给大div 相对定位,小 div相对于大div绝对定位,然后设置上下左右(即 top , bottom , left , right)偏移都为0,然后设外边距自由分配(即 margin:auto)。

代码如下:

.warp{
            width: 300px;
            height: 200px;
            border: solid 1px #0000FF;
            position:relative;
        }
        .content{
            width: 80px;
            height: 50px;
            border: solid 1px #0BB20C;
            position:absolute;
            top:0px;
            left:0px;
            bottom:0px;
            right:0px;
            margin:auto;
        }

效果图如下:

ok,very good 棒棒哒!

转载于:https://www.cnblogs.com/lfvkit/p/9288186.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值