课程
/前端开发
/HTML/CSS
/初识HTML(5)+CSS(3)
父元素设置float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left: -50% 来实现水平居中。来设置水平居中怎么理解
2020-01-13
源自:初识HTML(5)+CSS(3) 15-7
正在回答
我的理解是给父元素设置float:left是先让这个块到最左边,然后设置position:relative 是让块可以相对于原位置移动,之后设置left:50%,也就是让块离整个页面的最左边50%,最后的结果就是块的左边贴着整个页面的中线,之后再设置子元素position:relative,也就是让子元素相对于现在的位置(即此刻父元素的位置)可以移动,再设置left: -50% ,相当于子元素相对
于父元素的左边移动了半个父元素块的距离,就达到了居中的效果。(理解和表达不对的地方希望指正)
一个大憨憨
呼呼厚
为什么left: -50%代表子元素相对于父元素的左边移动了半个父元素块的距离,不是相对于父元素来说,子元素在父元素原来的位置上相对想左移动50%?
并不是。注意看文字解释。首先是分为三层。第二层ul的最左边对准第一层父元素div的中间线,第三层li的中间线对准第二层ul的最左边。
理解了,因为这个父元素的宽度为0.实际上先向右50%,父元素就在中间这条线上了,然后再向左50%,就是0的50%还是原地没动,还是蹲在中间线,如果父元素有宽度的话,就会偏移中线
谢谢图示 这下清楚了
举报
HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义
3 回答水平居中设置-行内元素
3 回答水平居中设置-行内元素?
1 回答水平居中设置-行内元素
4 回答定宽块状元素_水平居中设置
1 回答水平居中设置-定宽块状元素
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号