不理解第一个li的postion

来源:2-3 html5页面布局(表现层_banner)

xurdy

2017-02-03 00:14:59

http://climg.mukewang.com/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个是如何起作用的?

写回答

2回答

xurdy

提问者

2017-02-04

看下面吧!!

0

樱桃小胖子

2017-02-03

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

0
hurdy
h 我这样理解对不对:因为li 的 position 设定了 top: 37px、right: 0px、left: 0px; 而li 的 尺寸 (width:960px height:460px;)又小于他的父极 ul的尺寸(width: 1490px、 height: 300px),所以 li 设定margin:auto 会自动填充,以匹配position设定的值(也就是所谓的拔河效应)
h017-02-04
共3条回复

0 学习 · 5760 问题

查看课程