为了账号安全,请及时绑定邮箱和手机立即绑定

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

先把代码贴出来(同时实现了改变浏览器大小<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来进行解决这个问题。


点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消