之前有写过css/css3实现元素的水平和垂直居中的几种方法点我,但是css3属性不是所有浏览器都能兼容的,今天写下js实现未知宽高的元素的水平和垂直居中。
<!DOCTYPE html><html><head><meta charset="UTF-8"><title></title><style>div{padding:50px;display: inline-block;background-color:pink;position: absolute;}</style><script>window.onload = function(){//获取元素var div = document.querySelector('div');//设置left div.style.left=(window.innerWidth - div.offsetWidth)/2 + 'px';//设置topdiv.style.top= (window.innerHeight- div.offsetHeight)/2 + 'px';}</script></head><body><div>陌上人如玉<br />公子士无双</div></body></html>
如果需要在有滚动条的情况的下要实现居中的效果,则需要加上scrollTop和scrollLeft。