原生 js 让div上下左右居中

Posted lfvkit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生 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就可以相对于浏览器绝对居中了。

 







以上是关于原生 js 让div上下左右居中的主要内容,如果未能解决你的问题,请参考以下文章

js怎么让指定的div显示指定文字?

怎么让div中的div上下居中

css怎么让div上下居中,靠右对齐

在HTML中怎么让div里的东西上下居中

CSS如何让div相对body居中 而其中的控件不受影响。

CSS 代码如何在一个div内让文字垂直居中