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

关于-50%

先右移再左移都是50%  不是回到最开始的位置吗

正在回答

3 回答

看代码先。

.container{    float:left;
   position:relative;
   left:50%}

.container ul{
   list-style:none;
   margin:0;
   padding:0;    
   position:relative;
   left:-50%;}
.container li{float:left;display:inline;margin-right:8px;}

先设置div向右浮动50%,这个50是指浏览器窗口的一般,原来div是在左上角的,现在来到浏览器窗口一半的位置。现在我们再来看ul的属性设置,外边距margin和内填充padding都为0,也就是说ul这个容器的是和div等宽的,而且因为内填充也是0,因此li也和ul等宽!还有一个重要的点,就是li被设置成了行内元素,所以123会在一行显示,而且整个容器的宽度就是123所占的宽度,也就是说div的宽度也是一样宽,然后这里继续看ul的属性设置,left:-50%,这里的相对定位是相对div的左边框来说的,这个时候ul带着li里面的123向左移动-50%,因为ul和div的宽度一样,所以这就实现了123居中的效果!


0 回复 有任何疑惑可以回复我~

其实我后来懂了的

0 回复 有任何疑惑可以回复我~

这么说,第一次右移动是以页面的左边框为判定位置,而第二次左移动是以现在移动的盒模型的左侧边为判定位置,这样移动后,刚好盒模型的中间在它原本的左侧边位置,这么说能理解吗?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号