继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

实用javascript解决float(浮动)导致margin:0 auto自动居中失效的问题

叫我威哥哥
关注TA
已关注
手记 9
粉丝 5
获赞 11

先把代码贴出来(同时实现了改变浏览器大小<div>能响应上下左右居中的效果):

css部分:

*{

margin: 0;

padding: 0;

}

#content{

width: 100px;

height: 100px;

background: red;

margin: 0 auto;

float: left;

}

html部分:

<div id="content"></div>


js部分:

var content = document.getElementById("content");

content.style.position="relative";

//document.documentElement 返回的是文档的根结点

content.style.left=(document.documentElement.clientWidth - content.offsetWidth)/2+"px";

content.style.top=(document.documentElement.clientHeight - content.offsetHeight)/2+"px";


//onresize事件会在窗口或框架被调整大小时发生

window.onresize=function(){

content.style.left=(document.documentElement.clientWidth - content.offsetWidth)/2+"px";

content.style.top=(document.documentElement.clientHeight - content.offsetHeight)/2+"px";

}


在做响应式开发的时候发现<div>在被float以后div脱离了文档流无法使用margin:0 auto来实现左右居中,于是使用了javascript来进行解决这个问题。


打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP