不理解第一个li的postion

不理解第一个li的postion

http://img1.sycdn.imooc.com/climg//589358e60001100d17100875.jpg

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
.banner > ul{
    width1490px;
    height300px;
    margin0 auto;
    positionrelative;
}
 
.banner > ul > li{
    width610px;
    height300px;
    overflowhidden;
}
 
.banner > ul > li:nth-child(1){
    width960px;
    height460px;
    border1px solid #fff;
    positionabsolute;
    top37px;
    right0px;
    left0px;
    z-index2;
    marginauto;
}



第一个 <li> 的position 设 top:37px  我能理解 就是距离<ul>的顶部37像素,但是设 left:0,right:0  是什么意思呢?老师说有一个拔河效应,但是设定了宽高拔河效应应该失效的啊。。

而且要同时设置    left:0,right:0  ,margin:auto 才能居中。不知这3个是如何起作用的?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
提问者 xurdy 2017-02-04 17:31:11

看下面吧!!

卡布琦诺 2017-02-03 10:24:12

绝对定位的布局取决于三个因素,一个是元素的位置,一个是元素的尺寸,一个是元素的margin值。
而没有设置尺寸和 margin 的元素会自适应剩余空间,位置固定则分配尺寸,尺寸固定边会分配 margin,都是自适应的。望采纳~

  • 提问者 xurdy #1
    额,不太明白
    2017-02-04 11:37:01
  • 提问者 xurdy #2
    是不是 把包括 margin+盒子的尺寸一起 绝对定位了?
    2017-02-04 17:27:44
  • 提问者 xurdy #3
    我这样理解对不对:因为li 的 position 设定了 top: 37px、right: 0px、left: 0px; 而li 的 尺寸 (width:960px height:460px;)又小于他的父极 ul的尺寸(width: 1490px、 height: 300px),所以 li 设定margin:auto 会自动填充,以匹配position设定的值(也就是所谓的拔河效应)
    2017-02-04 20:14:28
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师