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

float 居中 left:50% 和 left:-50%

"我们可以这样理解:假想ul层的父层(即下面例子中的div层)中间有条平分线将ul层的父层(div层)平均分为两份,ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐;而li层的css代码则是将li层的平分线与ul层的最左端(也是div层的平分线)对齐,从而实现li层的居中。"

div  left:50%  是指 div的最左边 移动50%(最左端居中?因为我去掉ul left:-50%后 整个文字不居中 朝右偏了一点,加入ul left:-50%后 文字居中)  这样理解 div  left:50%  对吗?

最上面 “ul层的css代码是将ul层的最左端与ul层的父层(div层)的平分线对齐”  我怎么理解都是ul的最右端ul层的父层(div层)的平分线对齐,才能实现li居中


正在回答

3 回答

float:left可以改为display: inline-block对吧?所以这个实际上是ul居中了而div并没有居中对吗?我的意思是,ul没有在div中居中吧?https://img1.sycdn.imooc.com//5d1da44c0001c00810250576.jpg

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

慕运维3134882

ul相对于div偏移了,没有居中
2019-08-14 回复 有任何疑惑可以回复我~

如上回答说明。2过程描述中,li块向右偏移50%,我实际要表达的是 right:50% 等价于left:-50%。 所以示例中的左偏移,确描述为右偏移,原因就在这里。

而 left:-50%的理解为:li的起始位置 左端左偏移整长50%。(正向为向右,负向为向左)

1 回复 有任何疑惑可以回复我~
#1

慕先生0014430

表示看不懂
2019-06-19 回复 有任何疑惑可以回复我~

先解释原文,经过多次做实验清楚整个过程分两步:

  1. 把 ul 块的起始位置移动到整行的中间。例:[-----|ul---]。操作是ul父元素div的left:50%, 效果是ul偏移

  2. 把 li 块的起始位置向右偏移50%,此时我们一定要理解此时的-50%是对谁的,显然是li的父元素 ul。则有

    例:[----------|ullilili--],ullilili长度向右偏移50%,变为: [------ulli|lili------]。.操作是li的父元素ul执行left:-50%。效果是lilili偏移

总结:整个过程就是先向右偏移div的50%,再向左偏移ul的50%。再css代码的相对位置就是 left:50%(div左端50%正向偏移),left:-50%(ul左端50%负向偏移)

7 回复 有任何疑惑可以回复我~
#1

亻大力

66666
2019-07-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

float 居中 left:50% 和 left:-50%

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信